Avatar billede tuxen Nybegynder
18. juli 2001 - 14:11 Der er 9 kommentarer og
1 løsning

TTreeView kaster exception (Builder)

Hi.

Mit TreeView kaster en exception når jeg prøver at få fat i data fra en node som ikke har data eller ikke eksisterer.
Det er selvfølgelig klart, men jeg kas ikke håndtere exception korrekt.
Koden nedenfor virker fint når der er data i nodens dataobjekt
Mit catch statement fanger ikke Exception, istedet får jeg en runtime error EAccesViolation ...

Jeg har også prøvet catch( ... ), men det virker heller ikke ...

try{
MainForm1->Memo1->Text = PFileUnit(TreeView1->Selected->Data)->FileName;
}
catch(EAccessViolation &E){
}

Hjælp søges.
Tak, Thue
Avatar billede duck Nybegynder
20. juli 2001 - 07:03 #1
Hej Thue
Det skyldes sikkert at du prøver at fange en forkert exception. Prøv evt. med \"mother of all exceptions\" : Exception.

try
{
  ...
}
catch(Exception &E)
{
  ...
}

/Anders
Avatar billede yeti Nybegynder
31. juli 2001 - 22:42 #2
Borrisholt er på banen igen, med en lånt internet forbindelse ...

Problemet er ikke at try .. catch ikke fanger din exception, fordi det gør den ...

JEg vil æde min gamle hat på at du kører din Application inde fra Builderen af ? Og problemet er at når der kommer en exception, så kommer du tilbage i Koden ?

Correct me if I\'m worng .....

Nå men til løsningen ... Problemet er at du har bedt din Builder om at stoppe hvis det kommer en exception. \"Nej gu har jeg ej\" tænker du nok .. Jo indirekte fordi du ikke har bedt Builderen om det modsatte ...


Gå ind under Tools-->Debugger Options-->Laguage Exceptions

I bundcen af den fane er det en check box hvor der står \"Stop on Delphi Exceptions\", der fra skal du fjerne markeringen.

Og det er netop en Delphi Exception der kommer for TTreeView er netop en klasse skrevet i Delphi OGSÅ selv om vi snakker C++ Builder.

Jens B
Avatar billede tuxen Nybegynder
31. juli 2001 - 23:15 #3
jeg kigger lige på det og vender tilbage
Avatar billede borrisholt Novice
01. august 2001 - 08:26 #4
Jeg placerer lige et svar ....

Jens B http://fotx.net/borrisholt
Avatar billede tuxen Nybegynder
01. august 2001 - 09:16 #5
yes yes ... Der er så lidt om Borrisholt der ... :)
Det er da meget sjov ... men øh ????

Avatar billede borrisholt Novice
01. august 2001 - 09:18 #6
tuxen >>

Jeg placerede en kommentar igår aftes fra Yetis profil, jeg var lige hjemme ved ham.

Så placerer jeg lige et svar her idasg. Fordi jeg så kan få de udlovede points.

Jens B
Avatar billede tuxen Nybegynder
01. august 2001 - 09:20 #7
:) Udemærket ... blev lidt forvirret af dit link ...
Avatar billede borrisholt Novice
01. august 2001 - 09:21 #8
fik du det til at virker ?

Jens B
Avatar billede tuxen Nybegynder
01. august 2001 - 09:27 #9
Ja jeg har bare tjekket for fejlen inden den opstår i stedet.

if(Node && Node->Data)
    MainForm1->Content->Text =
PFileUnit(Node->Data)->FileData;

Men det er ikke det med Debuggeren der har været problemet, jeg har også sat den til \"handled on resume\", og det ku den ikke da den havde lavet ged i den.
Men tak for svaret ...
:)
Thue
Avatar billede tuxen Nybegynder
20. august 2001 - 09:27 #10
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester