![]() |
Re: Einfrieren von Form verhindern
Zitat:
ich habe schon sehr oft damit gearbeitet und es funktioniert hervorragend. allerdings kommt es natürlich sehr auf den schleifenaufbau an und wie mein vorredner sagte wenn das programm in einem datenbankprozess oder ähnlich hängenbleibt und nicht mehr zurückfindet nützt natürlich der refresh auch nix. dieses vorgehen ist nur sinnvoll bei einer schlaufe welche 100% weiterläuft. |
Re: Einfrieren von Form verhindern
Ja. OK. Mein Form heißt anders, aber ich kriege trotzdem eine Zugriffsverletzung. Weiß auch nicht warum.
TACSVImport = class(TForm) [...] private [...] public [...] end; var ACSVImport: TACSVImport; [...] ACSVImport.Refresh führt bei mir zu einer Zugriffsverletzung und das mit dem Refresh wie gesagt: Innerhalt der Delphi-Umgebung scheints zu funktionieren. Beim Aufruf der compilierten Datei nicht. Es ist übrigens eine 100%ige Schleife pro Datensatz. Innerhalb eines Datensatzes werden zwar Funktionen und Datenbankoperationen aufgerufen, aber es geht dann immer beim nächsten Datensatz weiter. [...]
Delphi-Quellcode:
DMS.DBOLAdoSQL.BeginTrans;
Timer1.Enabled := true; try try while not adsBBCSVTemp.Eof do begin SKU := adsBBCSVTemp.FieldValues['SKU']; EAN := adsBBCSVTemp.FieldValues['EAN']; Name := adsBBCSVTemp.FieldValues['Name']; ILN := adsBBCSVTemp.FieldValues['SupplierILN']; Case ArtikelVorhanden(SKU, EAN, Name, ILN) of 0: begin if cxcbArtNeu.Checked then begin if not InsertNeuerArtikel then Exit; end; end; 1: begin UpdateArtikel(1,SKU); end; 2: begin UpdateArtikel(2,EAN); end; 3: begin ImpUpNOK := ImpUpNOK + 1; end; end; i := i + 1; InitpbBar(true, 2, i); adsBBCSVTemp.Next; end; DMS.DBOLAdoSQL.CommitTrans; MessageDlg('Von '+IntToStr(i)+' Datensätzen wurden '+IntToStr(ImpUpOK)+' erfolgreich aktualisiert, '+IntToStr(ImpNeuOK)+' erfolgreich neu angelegt. '+IntToStr(ImpUpNOK)+' Artikel konnten nicht aktualisiert, '+IntToStr(ImpNeuNOK)+' nicht neu angelegt werden. Bei '+IntTostr(LiefUpNeu)+' gefundenen EANNummern wurde der ausgewählte Lieferant neu zugeordnet.', mtInformation, [mbOK], 0); except DMS.DBOLAdoSQL.RollbackTrans; end; finally Timer1.Enabled := false; end; |
Re: Einfrieren von Form verhindern
Zitat:
Zitat:
![]() Gruß Hawkeye |
Re: Einfrieren von Form verhindern
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz