Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: TStringList-Zuweisung verläuft sich im Nirvana der CPU-U

  Alt 14. Okt 2009, 08:32
Also erstmal Danke für deine Anregung mit dem Quellcode. Werde ich auch definitiv bei Gelegenheit testen. Habe mir gestern erstmal eine sehr schnelle Lösung erprobt, wo ich ebenfalls erstmal ohne Event mit Warten auf dem Thread meine Liste bekommen. Hier mal meine schnelle Lösung (ohne :

Delphi-Quellcode:
procedure TForm2.Messung(iMessreihen, iMesswerte, iMessabstand: Integer);
begin
// in der Messung sollen iMessreihen * iMesswerte an Messpunkten aufgenommen, um
// diese später statistisch auszuwerten.
// Dafür Mesthread erstellen, der in regelmäßigen Abständen die entsprechende Anzahl
// an Messwerten aufnimmt.
  FMessThread := TMessThread.create((iMessreihen * iMesswerte), iMessabstand);
  try
    FMessThread.OnMessWertListcompleted := GetMessWertList;
    FMessThread.WaitFor;
    Form1.Memo2.Lines.Assign(FMessThread.MesswertList); // vorläufige Visualisierung
    Templist.FsLMesswertListe := TStringList.Create;
    try
      Templist.FsLMesswertListe.Assign(FMessThread.MesswertList); // Übergabe der Messergebnisse
    except
      TempList.FsLMesswertListe.Free;
    end;
    TempList.Messwertreihen := iMessreihen;
    TempList.Messwertanzahl := iMesswerte;
  finally
    if assigned(TempList.FsLMesswertListe) then TempList.FsLMesswertListe.Free;
    FMessThread.Free;
    Form1.Button1.Enabled := true;
  end;
end;
Funktioniert erstmal, ist sicherlich nicht sonderlich schön (Event wär mir lieber).

MfG
2. Account Sero
  Mit Zitat antworten Zitat