Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - function declarieren
adler - Do 20.11.03 17:43
Titel: function declarieren
Hi!
Habe ne Funktion, doch falls ich sie aufrufen will, sagt er mit immer,
undeclared identifer 'Explode'
function Explode(text: string; seperator: Char): Tarray;
so fängt sie an...
kann mir einer helfen?
Sir SiLvA - Do 20.11.03 17:57
Titel: Re: function declarieren
| adler hat folgendes geschrieben: |
Hi!
Habe ne Funktion, doch falls ich sie aufrufen will, sagt er mit immer,
undeclared identifer 'Explode'
function Explode(text: string; seperator: Char): Tarray;
so fängt sie an...
kann mir einer helfen? |
Wenn Du den kompletten Quellcode posten würdest könnte man dir helfen :-)
(sprich poste die .pas-datei in der diese funktion drinne steht)
aber nach deiner fehlermeldung schätze ich mal du hast die funktion nicht in deiner haupt-unit drinne stehen ? :)
adler - Do 20.11.03 19:27
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| function Explode(text: string; seperator: Char): Tarray; var s: string; i: Integer; c: Char;
begin Result := nil; s := ''; for i := 1 to Length(text) do begin c := text[i]; if c = seperator then begin SetLength(Result, Length(Result) + 1); Result[Length(Result) - 1] := s; s := ''; end else s := s + c; end; if s <> '' then begin SetLength(Result, Length(Result) + 1); Result[Length(Result) - 1] := s; end; end; |
Hier die Function...
Die Unit ist bestimmt zu groß :)
weil das mein 3D spiel wird und alles dort drinne steht, ausserdem weiß ich net wo ich es hinladen soll... naja
was heißt haupt-unit?
für mich ist alles eine hauptunit ^^
Sir SiLvA - Do 20.11.03 19:42
sorry aber wenn den brauch ich die ganze .pas datei :-)
besteht dein prg aus 1 .pas datei oder aus mehreren ?
rochus - Do 20.11.03 19:48
hast du das in einer eigenen unit? also:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| unit myunit;
interface
uses WhatYouNeed;
implementation
function blablabla():plopp; begin
end;
end. |
wenn ja, musst du noch im interface abschnitt (überhalb von implementation) den funktions kopf (also das function blablabla():plopp..) einbaun, damit die funktion von anderen units erkannt wird.
adler - Do 20.11.03 21:27
Titel: ja
alles in einer unit... ähm, gib mir deine email adresse und ich schicks dir...
ne, hab mehrere ^^
einmal das spiel und dann die menüs...
tommie-lie - Do 20.11.03 22:04
Vermutlich ist sie zum Zeitpunkt des Aufrufs tatäshclich nicht deklariert.
Steht die Funktion in der Datei "unterhalb" oder "oberhalb" des Aufrufs? Wenn sie unterhalb steht, hast du zwei Optionen:
- Funktionen von diesem Typ ganz an den Anfang verfrachten
- Eine Forward-Deklaration (siehe Hilfe) in den Interface-Abschnitt schreiben, damit der Compiler weiß, daß irgendwo so eine Funktion existiert
adler - Do 20.11.03 22:35
Titel: unterhalb
sie ist unterhalb :)
kann ich sie einfach nach oben schieben?
adler - Do 20.11.03 22:55
Titel: danke
habe es hinbekommen, vielen danke :)
tommie-lie - Do 20.11.03 23:04
Titel: Re: unterhalb
| adler hat folgendes geschrieben: |
sie ist unterhalb :)
kann ich sie einfach nach oben schieben? |
Ich sagte ja, daß es die eine Option gewesen wäre, sie einfach ganz an den Anfang zu verschieben.
Manchmal ist es aber sinnvoll, sie da zu lassen, wo sie ist (bei umfangreichen Projekten empfiehlt es sich, eine gewisse Struktur in seinem Quellcode zu haben), deswegen solltest du dir die Variante mit der Forward-Deklaration auch mal anschauen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!