Текущий архив: 2004.10.10;
Скачать: CL | DM;
Вниз
проблема с созданным компонентом Найти похожие ветки
← →
zaycev (2004-09-27 16:39) [0]Подскажите пожалуйста в чем проблема, я создал компоненту свою, она компилится замечательно и устанавливается без единого предупреждения или подсказки. Но вот когда я свой компонент бросаю на форму, а потом если пытаюсь удалить то дельфя мне выдаёт Invalid Pointer Operation и не дает никак удалить его. Не пойму в чем дело. уже несколько раз переустанавливал компонент. Всё равно одно и тоже появляется.
Может уже кто с таким сталкивался? Я уже начал грешить на сервис пак 2 для ХР))) незнаю чего делать. Исходный код приводить его думаю это не поместится тут. Но ведь компилится без проблем и регистрируется тож.
← →
Reindeer Moss Eater © (2004-09-27 16:42) [1]Ошибка в коде компонента
← →
zaycev (2004-09-27 16:55) [2]С кодом повозился)) теперь он стал при его удалении из формы выдавать "Access Violation at address 00000000. Read of Address 00000000". Уххххх
← →
Amoeba © (2004-09-27 16:55) [3]Выход только один - найти ошибку в коде компонента и исправить код. А чтобы тебе могли помочь советом, где примерно ее искать, сообщи хотя бы, что это за компонет. Вполен возможно, что наступаешь на хорошо известные грабли.
← →
Amoeba © (2004-09-27 16:57) [4]Случайно не имеет ли этот компонет в своих published св-вах ссылки на другой компонент?
← →
zaycev (2004-09-27 17:00) [5]Да это я написал свой сокет компонент, чтобы работать напрямую с винсок32.длл.
А проблема не может быть в название файла компонента?
То есть сам файл называется mysocket.pas, а юнит назвается MySock.
← →
zaycev (2004-09-27 17:03) [6]а не, сорри, гоню, одинаковые и файл и юнит
← →
zaycev (2004-09-27 17:05) [7]Amoeba не, не имеет, там в published только все переменные его же класса
← →
Amoeba © (2004-09-27 17:06) [8]1. Названия файла и юнита должны совпадать.
2. У тебя в коде компонента "ошибка в 17-й строке", а все телепаты в бессрочном отпуске.
← →
Anatoly Podgoretsky © (2004-09-27 17:07) [9]zaycev (27.09.04 16:55) [2]
Это означает, что какой то указатель не инициализирован и ничего другого, устраняй ошибку.
← →
Amoeba © (2004-09-27 17:10) [10]Или при удалении его в DesignTime, если другой компонент имеет ссылку на него, эта ссылка не устанавливается в nil.
← →
zaycev (2004-09-27 17:23) [11]Amoeba
Вот кусок кода, тожет здесь что не так((
TClientInfo = record
Username:string;
end;
TProxParameter = record
MaxPktsize: word;
ProxInfo: string;
end;
TMySock = class(TComponent)
private
TestSock:TClientSocket;
Testock1:TClientSocket;
FServer:string;
FPort:string;
FProxyType: TProxyType;
FProxyHost: string;
FProxyPort: string;
ProxyPacket0 :string;
ProxyPacket1 :string;
ProxyPacket2 :string;
FOnError: TOnErrorEvent;
FConnected: TOnConnectedEvent;
proxseq, proxysend: integer;
Proxinfo: TProxParameter;
function proxyseq: integer;
procedure connect;
procedure disconnect;
procedure reset;
public
ClientInfo:TClientInfo;
constructor Create(AOwner: TComponent);override;
destructor Destroy;override;
procedure Login;
procedure Logoff;
function SendMyText(myText:string);integer;
published
property Server:string read FServer write FServer;
property Port:string read FPort write FPort;
property Username:string read ClientInfo.Username write ClientInfo.Username;
property Password:string read FPassword write FPassword;
property ProxyType: TProxyType read FProxyType write FProxyType default PROXNONE;
property ProxyHost: string read FProxyHost write FProxyHost;
property ProxyPort: string read FProxyPort write FProxyPort;
property OnLogin: TOnLoginEvent read FOnLogin write FOnLogin;
property OnError: TOnErrorEvent read FOnError write FOnError;
end;
← →
zaycev (2004-09-27 17:26) [12]тут есть ошибки, пропущенные буквочки, но это я просто исправлял походу, чтобы яснее было
← →
Sandman25 © (2004-09-27 17:26) [13]Деструктор покажите
← →
zaycev (2004-09-27 17:34) [14]destructor TMySock.Destroy;
begin
TestSock.Free;
TestSock1.Free;
inherited;
end;
← →
zaycev (2004-09-27 17:38) [15]хым, вы знаете, сейчас налил первый апдейт для дельфи7, и всё, проблема исчезла. Что за бред.
Ребята всёравно спасибо вам.
← →
KSergey © (2004-09-28 06:12) [16]Да в чем угодно может быть проблема!
Правило отладки компонент: сначала создаем его run-time, добиваемся полностью безпроблемной работы - только после этого устанавливаем.
Хотя, конечно, эт оне избавляет полностью от проблем в design-time...
Страницы: 1 вся ветка
Текущий архив: 2004.10.10;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.025 c