![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#11 |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 175
|
![]()
Ну при наборе в редакторе слова self помощник кода говорит что это именно TCsServer а не PCsServer, в общем в любом случае я имею access violation read of address 0x000000...
У меня д7
Здравствуйте
Последний раз редактировалось NEoMASTERR; 23.06.2015 в 08:23. |
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Любая объектная переменная это указатель на экземпляр класса или nil. В том числе и Self
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
self ЭТО неявный параметр функции(процедуры)
т.е. локальная переменная размещаемая в стеке и после выхода из процедуры ее НЕ существует, а память указывающая на нее имеет СОВСЕМ другое значение. и обращение к неизвестной и возможно даже не существующей памяти естественно приводит к черт знает чему. А вот ЕЕ значение и есть как раз УКАЗАТЕЛЬ на экземпляр обрабатываемого класса. (так устроены ВСЕ объекты в Delphi). Так что как раз ВОВНЕ надо хранить Pointer(self). "разыменованный"(детипизированн ый) указатель экземпляра (объекта). и восстанавливать типизацию при необходимости Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 23.06.2015 в 09:24. |
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 175
|
![]() Код:
Код:
Здравствуйте
|
![]() |
![]() |
![]() |
#15 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#16 |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 175
|
![]()
Здравствуйте
|
![]() |
![]() |
![]() |
#17 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
если мы "засовывали" переменную типа TCsServer
Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 23.06.2015 в 12:28. |
|
![]() |
![]() |
![]() |
#18 |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 175
|
![]()
Это один из моих давних проектов, передавал указатель как указатель, а не как T...
Код:
Здравствуйте
Последний раз редактировалось NEoMASTERR; 23.06.2015 в 12:39. |
![]() |
![]() |
![]() |
#19 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 23.06.2015 в 12:45. |
![]() |
![]() |
![]() |
#20 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
P.S. Единственное, что могу сказать - не работать в ООП с указателями. По крайней мере в Делфи при наличии кучи спецклассов для такого дела.
I'm learning to live...
|
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Указатели СИ. | Morowind | Помощь студентам | 1 | 12.09.2012 19:20 |
Указатели | человек&кошка | Помощь студентам | 2 | 15.02.2012 07:26 |
указатели | Артэс | Общие вопросы C/C++ | 11 | 07.02.2010 16:47 |
Указатели | IceBreaker | Общие вопросы C/C++ | 9 | 05.02.2010 09:11 |
[C] массивы, указатели, двойные указатели. | Iggel | Общие вопросы C/C++ | 5 | 05.05.2009 12:39 |