Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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
14-42081
Layner
2003-10-23 16:58
2003.11.13
Давайте на форуме добавим судью. и прокурора.


14-42055
False_Delirium
2003-10-15 19:40
2003.11.13
Xaser III v2000 Super Tower


3-41074
alexsc
2003-10-23 17:31
2003.11.13
вопрос


1-41487
AAZ72
2003-10-28 15:00
2003.11.13
Преобразование строки в название класса


14-42115
Екатерина
2003-10-14 11:58
2003.11.13
Ищу delphi-2 или 3 на дискетах.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский