Einzelnen Beitrag anzeigen

Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#5

Re: var-Parameter mit Thread nutzen

  Alt 13. Feb 2008, 10:46
Jetzt ist mir klar geworden wie das funktioniert und bin schon mal ein ganzes Stück schlauer. Vielen Dank.

Über die Notwendigkeit des Synchornisierens und auch über den Grund dafür bin ich mir bewusst. Allerdings habe ich so etwas bis jetzt noch nie gemacht und weiß nicht wirklich wie man das macht. Macht man es in diesem Fall auch mit der TThread.Synchronize Methode?


Zitat von sirius:
Delphi-Quellcode:
procedure TBulkReceiveCommandThread.Execute();
//hier würde ich zum synchronisieren den Inhalt von TDataframe kurz zwischensepichern
//var tempData=TDataFrame;
begin
  ...
  ...

  // receive Data
  tempData:=Data^; //ich weiß nicht, ob du Data vorbelegen musst (evtl. synchronisieren)
  bRet := USBReadAsync(PipeHandle,      
                       tempData,
                       USBcb.nDATA,
                       FenumProcInst);
  
  Data^:=tempData; //Diese Zeile muss synchronisiert werden
  ...
  ...
end;

Wie genau kann ich dies Zeile synchronisieren? Mir ist schon klar, dass tempData erst dann nach Data^ zugewiesen werden darf, wenn USBReadAsync das Schreiben in tempData beendet hat. Aber wie ist da der richtige Ansatz?
  Mit Zitat antworten Zitat