28. april 2003 - 12:23Der er
5 kommentarer og 1 løsning
Afslutte alle procedurer/funktioner?
Jeg har et par procedurer og funktioner som kalder hinanden. ex. funktionen FindHesten() kalder ErDetEtÆsel(). I ErDetEtÆsel() kaldes DetErEnAnd(). DetErEnAnd() finder, at det er en And. De kørende funktioner "FindHesten() & ErDetEtÆsel()", skal afsluttes.
Hvodan gør jeg det fra DetErEnAnd()??
Exit, afslutter jo kun den funktion den kaldes fra.
Håber at dyrebeskrivelsen forklarer problemet godt nok, det er noget jeg generelt godt vil have opklaret.
Når der returneres fra DetErEnAnd fortsættes i ErDetEtÆsel og her kan du skrive Exit lige efter kaldet til DetErEnAnd. Eks.: function ErDetEtÆsel: Boolean; begin .. evt nogle kodelinier her if EtEllerAndet then begin DetErEnAnd; Exit; end; .. evt nogle kodelinier her end;
Jeg må sige at dit spørgsmål og eksempel ikke er helt lysende klart. Men jeg kan da prøve med et andet forslag. Når du i sidst kaldte procedure finder ud af at du vil stoppe helt kan du raise en exception, så vil programmet hoppe ud af alle kørende procedurer. Eftersom du vist ikke er så øvet i Delphi, så gør du sådan her: raise Exception.Create('Så stopper vi helt'); eller SysUtils.Abort; // hvis du ikke vil se en exception box på skærmen Dette er blot et par måder at gøre det på. Der er mange måder at variere exception handling.
Nej, jeg er ikke kanonhård i delphi. Derfor spørger jeg hvor jeg kan få svar. Det er til tider svært at finde en god hjælp, medmindre man er helt inde i sprogbrugen. I mit eksempel er det svært at komme frem til exceptions, når jeg søger efter måder at afslutte procedurer. Prøv selv i hjælpen!
Synes godt om
Ny brugerNybegynder
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.