Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
14-1095919272
gn
2004-09-23 10:01
2004.10.10
Читайте назночение программ некоторые фразы меня впечатлили :-)


14-1095861531
Pavel__
2004-09-22 17:58
2004.10.10
USB


1-1095715640
lipskiy
2004-09-21 01:27
2004.10.10
Функция поиска подстроки в строке на asmе


6-1091270209
Боян Георгиев
2004-07-31 14:36
2004.10.10
Incorrect authentication data


4-1093965391
Arnold
2004-08-31 19:16
2004.10.10
Известен Handle окна, как узнать какой его тип (TForm,TButton..)