Avatar billede cyaegha Nybegynder
28. april 2003 - 12:23 Der 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.
Avatar billede tolderlund Nybegynder
28. april 2003 - 12:30 #1
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;
Avatar billede cyaegha Nybegynder
28. april 2003 - 13:07 #2
tja, det er også den vej jeg havde tænkt det. Men det er lidt besværligt. Hvad hvis det er løkker der skal køres igennem.

eks: ErDetEtÆsel kalder DetErEnAnd, og i DetErEnAnd kaldes ErDetEtÆsel. Er der en metode a'la' exit. Som kan benyttes tilsvarende?
Avatar billede hreiff Nybegynder
28. april 2003 - 13:45 #3
Brug:

  application.terminate;
Avatar billede cyaegha Nybegynder
28. april 2003 - 14:03 #4
Jeg vil ikke lukke hele programmet. Kun nogle specifikke procedurer.
Avatar billede tolderlund Nybegynder
28. april 2003 - 15:14 #5
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.
Avatar billede cyaegha Nybegynder
28. april 2003 - 18:46 #6
Tak for hjælpen!

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!
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