Форум: "Сети";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Внизкак правильно задействовать в нити класс TClientSocket Найти похожие ветки
← →
LeNa19 (2003-09-07 13:52) [0]привет всем
наролд подскажите как правильно задействовать
в нити класс TClientSocket
а то у меня во время запуска приложения (нить еще не запущена)
вылетает мессага класс TClientSocket не найден
я делаю ето так а как правильно ?????
unit scan;
interface
uses
ScktComp,
Classes;
type
Tscan = class(TThread)
myclient:TClientSocket;
private
{ Private declarations }
protected
procedure Execute; override;
end;
implementation uses unit1;
{ Tscan }
procedure Tscan.Execute;
begin
{
myclieht:=TClientSocket.
myclient.Port:=139;
myclient.Host:="127.0.0.1";
myclient.Active:=true;
}
end;
end.
← →
mrcat (2003-09-08 09:29) [1]procedure Tscan.Execute;
begin
{
myclieht:=TClientSocket.Create(что-то_там);
myclient.Port:=139;
myclient.Host:="127.0.0.1";
myclient.Active:=true;
}
end;
Может, для начала, TClientSocket.Create организовать в другом месте, например, при создании нити (как-никак TThread.Execute для этого самое паршивое место :/) ?
← →
LeNa19 (2003-09-08 11:25) [2]можно былобы попробовать и в EXECUTE но метод CREATE здесь ещо не виден :-(
← →
Digitman (2003-09-08 11:43) [3]
> можно былобы попробовать и в EXECUTE но метод CREATE здесь
> ещо не виден
чего "не виден" ? кому "не виден" ? где "здесь" ?
← →
mrcat (2003-09-08 11:45) [4]Digitman © (08.09.03 11:43)
чего "не виден" ? кому "не виден" ? где "здесь" ?
в книжке, наверное :)
← →
Verg (2003-09-08 11:46) [5]В том куске кода вообще ничего не происходит
> mrcat © (08.09.03 09:29) [1]
В этом тоже
← →
Verg (2003-09-08 11:55) [6]И вообще. Не надо понимать слова
{ Place thread code here }
Так буквально....
← →
LeNa19 (2003-09-08 12:29) [7]TO Digitmen
чего "не виден" ? кому "не виден" ? где "здесь" ?
в коде приведенном mrcat
в книге он дествительно не виден изза отсутствия таковой
← →
Digitman (2003-09-08 12:37) [8]
> LeNa19
))
любопытно, а как метод Create д.б. еще "виден" в этом коде ?
я вот вижу, к примеру)... оч даже хорошо вижу) ... что же тебе не видно там ?
← →
mrcat (2003-09-08 13:12) [9]Verg © (08.09.03 11:46)
LeNa19 (08.09.03 12:29)
Это и не пример, а указание на отсутствие конструктора в приведённом коде.
← →
LeNa19 (2003-09-08 23:57) [10]TO mrcat
а что, если в коде нет конструктора сокета , то при запуске приложения должна быть ошибка . Я же не активизирую нить в которой он создается(в основном модуле нет Tscan.create )
ето же равнносильно что объявить переменную и не воспользоватся ей
TO Digitman
а вот компилятор его не видит.
← →
Digitman (2003-09-09 08:16) [11]
> а вот компилятор его не видит
приведи код именно в том виде, в котором кто-то кого-то "не видит"
← →
mrcat (2003-09-09 08:53) [12]LeNa19 (08.09.03 23:57)
Давайте на секунду забудем о нитях, потоках, процессах ...
Как Вы будете реализовывать создание экземпляра TClientSocket run-time ?
← →
FoxBox (2003-09-09 11:45) [13]Если TClientSocket нужен постоянно и много (обращение к экземпляру идет из нескольких методов одного из объектов), то объявить его как свойство данного объекта и в конструкторе объекта написать, напр
constructor TMyObject.Create;
begin
inherited;
MySocket := TClientSocket.Create;
...
end;
потом в деструкторе убить MySocket
а в методах уже дергаешь MySocket.Port := Хрен_Знает_Что
или там чего тебе надо...
← →
LeNa19 (2003-09-09 17:36) [14]огромное спасибо всем
я нашла свою ошибку
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.038 c