![]() |
Definieren von Funktionen unter Type
Hallo,
ich habe vorhin folgende Funktion im Forum gefunden und setze diese nun in einem kleinen Programm ein:
Code:
Da ich nun noch relativ neu im Umgang mit Delphi bin
function HexStrToStr(const HexStr:String) : String;
var i : Integer; begin Result := ''; for i := 1 to Length(HexStr) div 2 do Result := Result + Chr(StrToInt('$'+Copy(HexStr,i*2-1,2))); end; hat es mich gewundert das diese Funktion auch ohne die Deklaration unter Type funktioniert. Was mich allerdings noch mehr wundert ist das wenn ich versuche HexStrToStr(const HexStr:String) : String; unter Type aufzunehmen dann bekomm ich folgenden Fehler: Zitat:
|
Re: Definieren von Funktionen unter Type
Du hast die Funktion als Methode der Klasse TForm1 deklariert.
etwa so:
Delphi-Quellcode:
Die Fehlermeldung die Du bekommst besagt, dass DIESE Funktion nicht gefunden werden kann.
type
TForm1 = class(TForm) private { Private declarations } HexStrToStr (const HexStr:String) : String; public end; Es müßte heißen:
Delphi-Quellcode:
oder die Funktion müßte außerhalb der Klassendefinietion deklariert werden.
function TForm1.HexStrToStr(const HexStr:String) : String;
Ich hoffe es hilft. Niels |
Re: Definieren von Funktionen unter Type
Zitat:
Wenn Du es "dort" angibst ist deine Funktion eine Methode des Forumlares und kann dann auch auf alle Eigenschaften von diesem Zugreifen. Da dies bei deiner Funktion nicht notwendig ist brauchst/solltest Du sie auch dort nicht deklarieren. |
Re: Definieren von Funktionen unter Type
Aaaalso wenn ich das nun richtig verstanden habe brauch ich die
Funktion nirgends weiter angeben, ja? |
Re: Definieren von Funktionen unter Type
Zitat:
|
Re: Definieren von Funktionen unter Type
Wenn Du sie nur in dieser Unit brauchst, ja. Ansonsten brauchst Du den Metoden-Kopf im interface-Teil
Stephan |
Re: Definieren von Funktionen unter Type
Ok =),
danke Euch für die schnelle Hilfe :dance: |
Re: Definieren von Funktionen unter Type
Hi :hi: ,
Da die Units (grob gesagt) in einen Interface-Abschnitt und einen Implementation-Abschnitt unterteilt sind, gibt es mehrere Möglichkeiten Methoden zu deklarieren. Methoden, die im Interface-Abschnitt deklariert wurden, gehören entweder einer Klasse an oder sind öffentlich verfügbar. Gehört die Methode zu einer Klasse, kann man sie nur über ein von der Klasse erstelltes Objekt aufrufen. Methoden im Implementation-Abschnitt können auch nur dort verwendet weden. Und diese "Funktion1" kann bspw. nur in "Procedure1" aufgerufen werden. -->
Delphi-Quellcode:
procedure Procedure1;
function Funktion1(Value: Boolean): Boolean; begin Result := not Value; end; var B: Boolean; begin B := Funktion1(True); ... end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:13 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