Nein. Ich mache mir für sowas immer Records. Das erste ist ein InUse:Boolean. Ist der Record belegt, nehm ich den nächsten oder warte bis einer frei wird.
Da wo ich "reinposte" sieht der anfang immer so aus
Delphi-Quellcode:
procedure TReadDataFrm.RefreshRDObj(var Msg: TMessage);
var
i :Integer;
begin
i := Integer(Msg.lParam);
da habe ich dann die nummer auf dem record, der "zu mir" gehört. Der Record ist Global und da stehen dann alle sachen drinne die ich in dem moment brauche. Strings,Integer usw..
Ich habe nun mal SendMessage genommen. Da der fehler nicht reproduzierbar ist, kann ich nur warten....