AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

try?

Ein Thema von Sanguis · begonnen am 13. Mär 2010 · letzter Beitrag vom 13. Mär 2010
Antwort Antwort
Seite 1 von 2  1 2      
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#1

try?

  Alt 13. Mär 2010, 16:00
Hallo,

ich nutze folgenden Code im onClick eines DBNavigator:

bsSkinLabel1.Caption := IntToStr(form1.ASQLite3Table1.RecNo) + ' / ' + IntToStr(form1.ASQLite3Table1.RecordCount); Jetzt gibt es Situationen, wo ein Button des DBNavigator nicht enabled ist. Geklickt werden, kann darauf aber trotzdem. Dann gibts eine AccessViolation... ich wollte es mit einem try Block abfangen, der wird aber leider ignoriert. Es kommt trotzdem die AccessViolation...

Gruß,
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: try?

  Alt 13. Mär 2010, 16:02
Ich kann im Moment nicht erkennen, was der Code mit einem DBNavigator zu tun hat. Und es wäre vielleicht ganz interessant, Deinen "try-Block" einmal zu sehen.
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
Benutzerbild von himitsu
himitsu

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

Re: try?

  Alt 13. Mär 2010, 16:07
Zitat:
ich wollte es mit einem try Block abfangen, der wird aber leider ignoriert. Es kommt trotzdem die AccessViolation...
Wie immer die beliebte und wichtige Frage:
Wird diese Exception NUR vom Debugger angezeigt, oder wird sie wirklich im Programm ausgelöst/ausgegeben?
$2B or not $2B
  Mit Zitat antworten Zitat
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#4

Re: try?

  Alt 13. Mär 2010, 17:42
Hallo,

ich will in einem SkinLabel darstellen welcher Datensatz von wievielen der DBNavigator grad anzeigt. Um dies aktuell zu halten, hab ich es im DBNavigator onClick eingetragen.
Mein Code mit try ist folgender:

Delphi-Quellcode:
try
 bsSkinLabel1.Caption := IntToStr(form1.ASQLite3Table1.RecNo) + ' / ' + IntToStr(form1.ASQLite3Table1.RecordCount);
except
 showmessage('test');
end;
Aber das fängt die AccessViolation leider nicht ab.

Gruß,
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#5

Re: try?

  Alt 13. Mär 2010, 17:48
Dann formuliere ich himitsus Frage mal anders: wird auch dann eine Exception ausgelöst, wenn Du das Programm außerhalb der IDE startest?
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
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#6

Re: try?

  Alt 13. Mär 2010, 17:59
Ja, leider... Ich bekomme sie einfach nicht abgefangen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#7

Re: try?

  Alt 13. Mär 2010, 18:00
Dann zeig uns doch einmal die komplette OnClick-Methode.
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
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#8

Re: try?

  Alt 13. Mär 2010, 18:39
Hab ich schon. Aber hier nochmal die komplette Procedure:

Delphi-Quellcode:
procedure TForm1.bsSkinDBNavigator1Click(Sender: TObject;
  Button: TbsNavigateBtn);
begin
try
 bsSkinLabel1.Caption := IntToStr(form1.ASQLite3Table1.RecNo) + ' / ' + IntToStr(form1.ASQLite3Table1.RecordCount);
except
 showmessage('test');
end;
Eigentlich nix großes... ich kapier das nicht...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#9

Re: try?

  Alt 13. Mär 2010, 18:46
Ich kenne jetzt die SQLite-Komponenten nicht, aber besitzt die Table eine Eigenschaft Active oder so ähnlich? Dann würde ich das einmal so versuchen:
Delphi-Quellcode:
procedure TForm1.bsSkinDBNavigator1Click(Sender: TObject;
  Button: TbsNavigateBtn);
begin
  if ASQLite3Table1.Active then
    if ASQLite3Table1.RecordCount > 0 then
      try
        bsSkinLabel1.Caption := IntToStr({form1.}ASQLite3Table1.RecNo) + ' / ' + IntToStr({form1.}ASQLite3Table1.RecordCount);
      except
        on E: Exception do
          MessageBox(0,PChar('Es ist ein Fehler aufgetreten:' + sLineBreak + E.Message), 'Oops',MB_OK or MB_ICONERROR);
      end;
end;
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
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#10

Re: try?

  Alt 13. Mär 2010, 19:09
Danke. Ja, die Table hat ein Active Attribut.
Aber auch so wird leider die AccessViolation ausgelöst. Mit und ohne IDE...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:40 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