![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.03.2010
Сообщений: 27
|
![]()
Здравствуйте!
Вопрос у меня вот в чем. Как то не приходилось работать с указателями. Почитав материал вроде все понятно. Получить адрес, разыменовать указатель. Но вот на практике, что-то не то. Или потому что нет самой практики в этой теме. К примеру вот такая запись: Код:
Это верно? Я создаю класс - поток. Стандартный Tthread. TClientReadWriteData = class(TThread) Код:
Выделяю память Код:
А вот GetMem – сразу выделил память для bf Далее процедура потока. Код:
Код:
Очень интересна строчка s:= string(@bf); тут вся строка – но вначале несколько символов мусора. Потом идет чтение и запись. Фрагмент кода Код:
Может прокси нормально отработать. Загрузить страницу – одну – две. А может на первой странице вылетит ошибка Access Violation. Я много раз просматривал и вот что когда для bf выделяется память на номера 118…-120..-130.. все работает, а вот когда на 400… то ошибка. И что странно выпадает не при первом чтение (до цикла while) а вот уже в самом цикле while. В чем может быть ошибка? не правильно использую указатели? Подскажите как правильно должно быть. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Сделай bf локальной для TClientReadWriteData.Execute
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 13.03.2010
Сообщений: 27
|
![]() |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
"смешались в кучу кони, люди.." // эпиграф
а что, никого не смущает, что Цитата:
и чтобы работать с динамическим массивом, нужно выделять память с помощью SetLength ?! я бы сделал так: Код:
Последний раз редактировалось Serge_Bliznykov; 06.05.2015 в 11:43. |
|
![]() |
![]() |
![]() |
#5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Или делал? ![]()
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 19.01.2015
Сообщений: 158
|
![]()
crossmark,
на всякий случай - хорошая статья, держу у себя в закладках http://www.transl-gunsmoker.ru/2009/09/blog-post.html |
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
SQLPowerUser, отличная статья!!!
кстати, не знаю, обратил автор темы внимание или нет, но я подчеркну цитату из своего поста: Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 13.03.2010
Сообщений: 27
|
![]()
большое спасибо
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
задания по практике | 25-й кадр | Помощь студентам | 4 | 06.12.2013 17:04 |
Что такое ADSL ,не на теории ,а на практике | viktor8888 | Свободное общение | 14 | 02.04.2013 21:22 |
Задание по практике | IPI | Помощь студентам | 4 | 15.06.2010 12:31 |
Отчот по практике | sby | Фриланс | 3 | 12.05.2009 17:16 |
[C] массивы, указатели, двойные указатели. | Iggel | Общие вопросы C/C++ | 5 | 05.05.2009 12:39 |