Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.30;
Скачать: CL | DM;

Вниз

Хочу создать поток на методе класса   Найти похожие ветки 

 
Zilog ©   (2003-10-17 11:32) [0]

Допустим:

TMyClass = class
procedure MyMethod;
procedure ThreadMethod;
end;

...

procedure TMyClass.MyMethod;
begin
CreateThread(nil,0,@ TMyClass.ThreadMethod,nil,0,ThreadID);
end;

Интерисующее место выделено курсивом. При попытке создать нить таким образом - выдаёт обшипку Accsess violation...
Если подставвить просто процедуру - всё ок, но вся беда в том, что нужны свойства класса в процедуре....

Подскажите pls, оч надо...


 
Reindeer Moss Eater ©   (2003-10-17 11:34) [1]

@TMyClass.ThreadMethod

@ThreadMethod


 
Zilog ©   (2003-10-17 11:36) [2]

не... так грит Variable Requried


 
Radionov Alexey ©   (2003-10-17 11:57) [3]

>Zilog © (17.10.03 11:36) [2]
класс tthread используй.
Для доступа к свойтвам класса - передавай экземпляр класса в конструктор tthread и храни на него ссылку внутри tthread.


 
Zilog ©   (2003-10-17 12:03) [4]

type TComPort = class

procedure Open(Port : string);
procedure Write(Str : string);
function Read : string;
procedure Close;

private
hPort : THandle;
CommThread : THandle;
Ovr : TOverlapped;
ComStat : TComStat;
ThreadID : cardinal;
TransMask : DWORD;
Error : DWORD;
Count : DWORD;
ReciveBuffer : array [0..255] of char;

procedure Recive;

end;

implementation

procedure TComPort.Open(Port : string);
var DCB : TDCB;
begin
hPort := CreateFile(PChar(Port), GENERIC_READ + GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if hPort = INVALID_HANDLE_VALUE then begin
ShowMessage("Can""t open " + Port + ": " + IntToStr(GetLastError));
Exit;
end;

SetCommMask(hPort,EV_RXCHAR);
GetCommState(hPort,DCB); //



Страницы: 1 вся ветка

Текущий архив: 2003.10.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-98715
Ormada
2003-10-17 12:23
2003.10.30
Редактор для Delphi


14-98860
Zhouck
2003-10-08 13:33
2003.10.30
Программирование умирает?


1-98567
Saturn
2003-10-20 12:32
2003.10.30
Хелп плиз!!!


8-98753
Franzy
2003-06-28 20:58
2003.10.30
Resizeble paintbox/timage.... - how?


1-98720
Максим
2003-10-13 13:36
2003.10.30
Delphi + TheBat