Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehlermeldung bei Procedure aufruf - need Help (https://www.delphipraxis.net/37299-fehlermeldung-bei-procedure-aufruf-need-help.html)

Cyberbob_at_tot 4. Jan 2005 10:43


Fehlermeldung bei Procedure aufruf - need Help
 
Hallo zusammen,

habe eine eigene Procedure für die Ausgabe von Fehlern geschrieben.

Deklaration unter Public
Delphi-Quellcode:
procedure fehler(var fehler:integer);
Die Procedure
Delphi-Quellcode:
Procedure TForm1.fehler(var fehler:integer);
Begin
Case Fehler of
1: data:='Fehler1'
2: data:='Fahler2'
else Data:='Unbekannter Fehler';
end;
end;
Der Aufruf (da kommt nun der Fehler)
Delphi-Quellcode:
fehler(1);
Fehler: Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen

ich sehe da aber keinen Fehler! Was meint ihr ?

BIG THX

Cyberbob

bttb930 4. Jan 2005 10:46

Re: Fehlermeldung bei Procedure aufruf - need Help
 
gabs doch schon 1000x in diesem forum

nimm das var aus der argumentliste raus, dann klappts

Cyberbob_at_tot 4. Jan 2005 10:48

Re: Fehlermeldung bei Procedure aufruf - need Help
 
Ups doch so einfach!
OK dann vergesssen wir das mal!

BIX THX

Joe24 4. Jan 2005 10:49

Re: Fehlermeldung bei Procedure aufruf - need Help
 
Wenn du einen var-Parameter verlangst, dann musst du ach eine Variable und keinen Konstanten Wert als Parameter übergeben.

fkerber 4. Jan 2005 10:49

Re: Fehlermeldung bei Procedure aufruf - need Help
 
hi!

Naja, die Frage ist warum da überhaupt ein var ist?
Es besagt, dass der übergegebene Wert auch geändert werden kann. Aber wo tust du das?
Hättest du das effektiv vor, müsstest du auch eine var übergeben, weil er '1' nunmal nicht ändern kann.

==> entweder ohne var oder so:

Delphi-Quellcode:
var
xyz: integer;

begin
xyz:=1;
fehler(xyz);
end;

Ciao Frederic

Cyberbob_at_tot 4. Jan 2005 10:57

Re: Fehlermeldung bei Procedure aufruf - need Help
 
Schonmal gut zu wissen.

Desweiteren habe ich gerade gelesen hilft es dem Compiler zur besseren Optimierung. Da ich die Variable ja nicht verändern will!

Die Übergabe mache ich doch per Call by Value, übergebe also nur den Wert der Variable oder liege ich da falsch ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz