Zitat von
schwa226:
Ich komme einfach nicht weiter...
Ich habe einen Thread den ich vom Hauptprogramm Nachrichten schicken will.
Geht das vielleicht auch viel einfacher?
Hallo schwa226, ein Klassiker ist, die Daten in einem Threadsaven Buffer zu stellen, und diesen dann von
einem Workerthread, signalled von einem Eventobjekt, aholen zu lassen.
Der Thread wartet dann wieder auf das nächtse Event, usw... und so fort.
Die Verwendung einer Messagequeue und die Sleeps im IndyClient, haben sich die
Indy Entwickler sicher nicht so vorgestellt.
Wenn schon sowas, dann eher so.
Delphi-Quellcode:
if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then begin
if Msg.message = WM_QUIT then BREAK;
DispatchMessage(msg)
end else WaitMessage;
Die DefProc sieht dann etwa so aus.
Delphi-Quellcode:
function WindowProc(hWnd, msg, WParam, LParam: LongInt): LongInt; stdcall;
var
p Pointer;
begin
Result := DefWindowProc(hWnd ,msg, WParam, LParam);
if Msg = FOO then begin
BAR
end;
end;
lg. Astat