Olá,

 

Estou dando uma estudada no BeginThread e tenho esse código..

 

var

   Enough :Boolean = false;

function MyThreadProc(Parameter: Pointer): Integer;

begin

   while not Enough do

   begin

      Windows.Beep(1000, 1000);

      Sleep( DWORD( Parameter ) );

   end;

   result := 1;

end;

 

procedure TForm1.SomeMethod;

var

   ThreadId :DWORD;

   hThread  :THandle;

   a: Pointer;

begin

   hThread := BeginThread( NIL, 0, @MyThreadProc, 5000, 0, ThreadId );

   Sleep( 60000 );

   Enough := true;

   WaitForSingleObject( hThread, INFINITE );

   CloseHandle( hThread );

end;

 

Assim como em outros exemplos que achei no Google, note que na função 
BeginThread é passado o ponteiro de MyThreadProc.
Notei em todos outros exemplos são utilizados da mesma forma. E as pessoas 
dizem que está funcionando.

 

Porém quando tento utilizar essa função passando um ponteiro de um método que 
contém parâmetros ocorre o seguinte erro de compilação

Variable Required

 

Alguém que já teve experiência com esse tipo de situação poderia dar uma dica?



[As partes desta mensagem que não continham texto foram removidas]

Responder a