Nachtrag: .... die Welt ist doch noch nicht untergegangen.
Das o.g. noch mal in meine Update-Methode eingebaut:
Delphi-Quellcode:
procedure TTeletext.UpdateOSD();
var
ID1, ID2 : cardinal;
begin
ID1 := MainThreadID;
ID2 := GetCurrentThreadId; // TThread.CurrentThread.ThreadId;
if ID1 = ID2 then
LOG('UpdateOSD', 'Ich bin im Hauptthread')
else
LOG('UpdateOSD', 'Ich bin in einen anderen Thread Context:' + IntToStr(ID2));
if NOT FShowTTxt then exit;
if NOT Assigned(FOSD) then exit;
FOutputCS.Enter;
try
FOSD.OSDupdate(FBMOSD);
finally
FOutputCS.Leave;
end;
end;
Dazu sagt der LOGGER (bei jedem Aufruf):
Code:
[17:49:36:178] [TTXT - UpdateOSD]: Ich bin in einen anderen Thread Context: 1572
Aha ! Bin ich also doch nicht völlig verkalkt.