Einzelnen Beitrag anzeigen

Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Programm wird zur Laufzeit immer langsamer

  Alt 20. Mär 2009, 13:46
Hallo zusammen,

hat alles super geklappt. Habe jetzt die gesamte Funktion umgebaut und es scheint zu funtionieren. Werde jetzt mal einen Testlauf bis heute Abend machen, und schauen ob es dann noch funktioniert.

Folgende Lösung, habe ich jetzt um neue Einträge in mein VST einzufügen.

Delphi-Quellcode:
procedure TForm1.TreeViewResult(ParserTreeView: TMyBaseParser);
var
  Daten : TOMB256PLUS;
begin
  QryMB256PLUS.Close;
  QryMB256PLUS.SQL.Text := 'INSERT INTO MB256PLUS'+
      '("LfdNr", "Datum", "Uhrzeit", "Ereignis", "Teilnehmer", "Bereich")'+
      'VALUES(:LfdNr,:Datum,:Uhrzeit,:Ereignis,:Teilnehmer,:Bereich)';

  QryMB256PLUS.ParamByName('LfdNr').AsInteger := ParserTreeView.Entries[0].LfdNr;
  QryMB256PLUS.ParamByName('Datum').AsString := ParserTreeView.Entries[0].Datum;
  QryMB256PLUS.ParamByName('Uhrzeit').AsString := ParserTreeView.Entries[0].Uhrzeit;
  QryMB256PLUS.ParamByName('Ereignis').AsString := ParserTreeView.Entries[0].Ereignis;
  QryMB256PLUS.ParamByName('Teilnehmer').AsString := ParserTreeView.Entries[0].Teilnehmer;
  QryMB256PLUS.ParamByName('Bereich').AsString := ParserTreeView.Entries[0].Bereich;

  QryMB256PLUS.ExecSQL;
  ConMB256PLUS.Commit;

  QRyMB256PLUS.Close;
  QryMB256PLUS.SQL.Text := 'Select Max(ID) As ID From MB256PLUS';
  QryMB256PLUS.Open;

  VST.BeginUpdate;
  Daten := TOMB256PLUS.Create;
  with Daten do
  begin
    Daten.ID := QryMB256PLUS.FieldByName('ID').AsInteger;
    Daten.LfdNr := ParserTreeView.Entries[0].LfdNr;
    Daten.Datum := ParserTreeView.Entries[0].Datum;
    Daten.Uhrzeit := ParserTreeView.Entries[0].Uhrzeit;
    Daten.Ereignis := ParserTreeView.Entries[0].Ereignis;
    Daten.Teilnehmer := ParserTreeView.Entries[0].Teilnehmer;
    Daten.Bereich := ParserTreeView.Entries[0].Bereich;

  end;
  VST.AddChild(nil, Daten);
  VST.ScrollIntoView(VST.GetLast, true);
  VST.EndUpdate;
  QRyMB256PLUS.Close;
  DataMB256plus := '';
end;
Ich hoffe das ist so alle OK.

Ich werde aber auch alle anderen Ideen, die genannt wurden nochmal prüfen, um eventuell noch ein bißchen an Performance zu sparen.

Danke schon mal an alle.

PS: Diese antwort gebe ich auch auf den anderen Thread, Damit auch jeder bescheid weis.
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat