![]() |
Execute umgehen
Hallo ich habe ein Programm geschrieben was zwei datenbanken vergleicht nach diverence und mir diese daten dann in einer scrollbox wiedergibt.
Beim ersten Durchlauf funktionirt das auch ganz gut, aber beim zweiten Durchlauf springt er bei RvProject1.Execute; in except .
Delphi-Quellcode:
was kann ich machen damit er beim zweiten durchlauf das problem umgeht??
RvNDRWriter1.Stream.Position := 0 ;
RvNDRWriter1.FileName := ''; RvProject1.Engine := nil; RvProject1.Close; RvProject1.Engine := RvNDRWriter1; //daten werden gezogen RvProject1.Open; ShowMessage('wird Geladen'); try RvProject1.Execute; // beim zweiten durchlauf springt er hier in except ShowMessage('ist geladen'); RvProject1.Engine := nil; RvRe_Preview.Render(RvNDRWriter1.Stream); // daten werden in scrollbox // angezeigt except on E: Exception do begin ShowMessage('Fehler'); end; end; end; |
Re: Execute umgehen
Du hast einen ganz blöden Fehler in deinem Sourcecode.
Und zwar verhinderst du, dass eine vernünftige Fehlermeldung angezeigt wird:
Delphi-Quellcode:
Es wird grundsätzlich immer nur folgende Meldung ohne Aussagekraft angezeigt:
except
on E: Exception do begin ShowMessage('Fehler'); end; end;
Code:
Lass doch einfach den ganzen try...except Block weg!!
Fehler
Ausserdem können wir dir nicht sagen, was in Execute schief läuft, da wir den Sourcecode nicht kennen. |
Re: Execute umgehen
Zitat:
|
Re: Execute umgehen
:-D lol du bist gut aber deswegen bin ich doch hier. und Wie umgehe ich jetzt den punkt das er beim zweiten durchlauf die RvProject1.Execute; nicht ausführt ?? denn da springt er in die DBAdvED und aktualisiert das bild in der scrollbox nicht mehr.
|
Re: Execute umgehen
Hallo,
mach mal bitte aus
Delphi-Quellcode:
except
on E: Exception do begin ShowMessage('Fehler'); end; end;
Delphi-Quellcode:
und erzähle uns dann, was Dir bei ShowMessage angezeigt wird, dann können wir eventuell unterumständen vielleicht weiterhelfen. Momentan haben wir keinerlei Informationen über den auftretenden Fehler und müssten daher in der :glaskugel: lesen. Aber die ist heute, bei dem Nebel, sehr getrübt 8)
except
on E: Exception do begin ShowMessage(e.Message); end; end; Tschuldigung, aber die von Dir bisher gelieferten Informationen reichen einfach für eine gescheite Hilfestellung noch nicht aus. |
Re: Execute umgehen
Habe ich gemacht und darin steht : Zugriffsverletzung bei Adresse 0056160B in Modul'mod_0001.exe'. Lesen von Adresse 00000008
Könnt ihr damit was anfangen? |
Re: Execute umgehen
Zitat:
oder eine Methode eines Objektes aufrufen will) und das Objekt nicht exisitert, also die Objectvariable nil ist. |
Re: Execute umgehen
aha ok. Aber warum durchläuft er dann die procedure beim ersten mal komplett, und beim zweiten durchlauf springt er beim RvProject1.execute auf exception kann man das umgehen? oder was kann ich machen?
|
Re: Execute umgehen
Zeig uns doch mal die Execute-Methode, am besten mit der entsprechend markierten Fehlerzeile.
|
Re: Execute umgehen
vorher wird die datenbak geladen
und hir im code soll er die daten die gefiltert wurden in der scrollbox ausgeben
Delphi-Quellcode:
RvNDRWriter1.Stream.Position := 0 ;
RvNDRWriter1.FileName := ''; RvProject1.Engine := nil; RvProject1.Close; RvProject1.Engine := RvNDRWriter1; RvProject1.Open; ShowMessage('wird Geladen'); try RvProject1.Execute; // beim zweiten durchlauf springt er hier in except ShowMessage('ist geladen'); RvProject1.Engine := nil; RvRe_Preview.Render(RvNDRWriter1.Stream); // daten werden in scrollbox // angezeigt except on E: Exception do begin ShowMessage(e.Message); //Zugriffsverletzung bei Adresse 0056160B in //Modul'mod_0001.exe'.Lesen von Adresse 00000008 end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 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