в общем нужно сделать следующее: есть главное приложение которое вызывает функцию из библиотеки их 2-е (start и stop).
procedure ButtonClick1;
begin
if Start then ShowMessage('ok')
else ShowMessage('not ok or stop');
end;
procedure ButtonClick1;
begin
Stop;
end;
....
Функция ждет реакции железа т.е. делат в нити какую то работу. В этот момент у пользователя в главном приложении не должен тормозится главный поток.
вот примерный код в либе.
TWorkThread = class
public
procedure Execute; override;
end;
procedure TWorkThread.Execute;
begin
while True do if fAnswer_Hardware ot fStop then Break;
end;
function Start : boolean;
var W : TWorkThread;
begin
W := TWorkThread.Create(false);
WaitForThreadTerminate(W.Handle,0);
Result := W.Result ...
end;
procedure Stop;
begin
fStop := true;
end;
чуствую что где то грабли, такие большие, с топором на ручке ...