AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Execute umgehen

Ein Thema von body2009 · begonnen am 27. Apr 2009 · letzter Beitrag vom 30. Apr 2009
Antwort Antwort
Seite 1 von 2  1 2   
body2009

Registriert seit: 2. Apr 2009
20 Beiträge
 
#1

Execute umgehen

  Alt 27. Apr 2009, 18:23
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:
 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;
was kann ich machen damit er beim zweiten durchlauf das problem umgeht??
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Execute umgehen

  Alt 27. Apr 2009, 18:30
Du hast einen ganz blöden Fehler in deinem Sourcecode.
Und zwar verhinderst du, dass eine vernünftige Fehlermeldung angezeigt wird:
Delphi-Quellcode:
except
    on E: Exception do begin
    ShowMessage('Fehler');
    end;
end;
Es wird grundsätzlich immer nur folgende Meldung ohne Aussagekraft angezeigt:
Code:
Fehler
Lass doch einfach den ganzen try...except Block weg!!
Ausserdem können wir dir nicht sagen, was in Execute schief läuft, da wir den Sourcecode nicht kennen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#3

Re: Execute umgehen

  Alt 27. Apr 2009, 18:31
Zitat von body2009:
was kann ich machen damit er beim zweiten durchlauf das problem umgeht??
Das Problem beheben.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
body2009

Registriert seit: 2. Apr 2009
20 Beiträge
 
#4

Re: Execute umgehen

  Alt 28. Apr 2009, 10:39
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.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

Re: Execute umgehen

  Alt 28. Apr 2009, 11:05
Hallo,

mach mal bitte aus
Delphi-Quellcode:
except
  on E: Exception do begin
    ShowMessage('Fehler');
  end;
end;
Delphi-Quellcode:
except
  on E: Exception do begin
    ShowMessage(e.Message);
  end;
end;
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 lesen. Aber die ist heute, bei dem Nebel, sehr getrübt 8)
Tschuldigung, aber die von Dir bisher gelieferten Informationen reichen einfach für eine gescheite Hilfestellung noch nicht aus.
  Mit Zitat antworten Zitat
body2009

Registriert seit: 2. Apr 2009
20 Beiträge
 
#6

Re: Execute umgehen

  Alt 28. Apr 2009, 12:34
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?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.014 Beiträge
 
Delphi 12 Athens
 
#7

Re: Execute umgehen

  Alt 28. Apr 2009, 12:40
Zitat von body2009:
Lesen von Adresse 00000008
sowas kommt z.B. wenn man auf etwas zugreift (z.B. Objekt-Variable meißt via Property
oder eine Methode eines Objektes aufrufen will)
und das Objekt nicht exisitert, also die Objectvariable nil ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
body2009

Registriert seit: 2. Apr 2009
20 Beiträge
 
#8

Re: Execute umgehen

  Alt 28. Apr 2009, 13:20
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?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.533 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Execute umgehen

  Alt 28. Apr 2009, 13:39
Zeig uns doch mal die Execute-Methode, am besten mit der entsprechend markierten Fehlerzeile.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
body2009

Registriert seit: 2. Apr 2009
20 Beiträge
 
#10

Re: Execute umgehen

  Alt 28. Apr 2009, 13:44
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;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz