![]() |
undefinierter bezeichner
hallo
ich glaub ich seh grad den wald vor lauter bäumen nicht: habe mir eine unit geschrieben die sieht folgendermaßen aus:
Delphi-Quellcode:
Dann hab ich die meinem Projekt hinzugefügt, denn ich will sie ja verwenden *g
unit Utils;
interface uses Types; implementation function Tokenize(const S: WideString; const C: WideChar): TWideStringDynArray; var SLen, SIdx, NTok, TokStart, TokLen: Integer; begin if S <> '' then begin SLen := Length(S); SetLength(Result, SLen); TokStart := 0; NTok := 0; TokLen := 0; for SIdx := 1 to SLen do begin if S[SIdx] <> C then begin if TokStart = 0 then TokStart := SIdx; Inc(TokLen); end; if ((SIdx = SLen) or (S[SIdx] = C)) and (TokStart > 0) then begin Inc(NTok); Result[NTok-1] := Copy(S, TokStart, TokLen); TokStart := 0; TokLen := 0; end; end; SetLength(Result, NTok); end else SetLength(Result, 0); end; end. So, und dann hab ich in der entsprechenden Unit, wo ich Tokenize verwenden will Datei->Unit verwenden->Utils gemacht So und wenn ich jetz Tokenize(s, '.') aufrufe bekomm ich immer: Undefinierter Bezeichner: 'Tokenize' steh grad auf'm schlauch ich hoffe ihr könnt mir helfen danke, martin |
Re: undefinierter bezeichner
Du musst den Funktionskopf noch im interface Abschnitt bekannt machen, sprich eintragen.
|
Re: undefinierter bezeichner
hmmm...ich mach sowas sehr selten per hand, aber das hier kompiliert irgendwie nicht; da bekomm ich:
Deklaration erwartet, aber 'USES' gefunden:
Delphi-Quellcode:
unit Utils;
interface function Tokenize(const S: WideString; const C: WideChar): TWideStringDynArray; uses Types; implementation function Tokenize(const S: WideString; const C: WideChar): TWideStringDynArray; var SLen, SIdx, NTok, TokStart, TokLen: Integer; begin if S <> '' then begin SLen := Length(S); SetLength(Result, SLen); TokStart := 0; NTok := 0; TokLen := 0; for SIdx := 1 to SLen do begin if S[SIdx] <> C then begin if TokStart = 0 then TokStart := SIdx; Inc(TokLen); end; if ((SIdx = SLen) or (S[SIdx] = C)) and (TokStart > 0) then begin Inc(NTok); Result[NTok-1] := Copy(S, TokStart, TokLen); TokStart := 0; TokLen := 0; end; end; SetLength(Result, NTok); end else SetLength(Result, 0); end; end. |
Re: undefinierter bezeichner
Hinter dem uses-Abschnitt muss das stehen.
|
Re: undefinierter bezeichner
du musst zuerst das Uses reinschreiben, und dann den Funktionskopf:
Delphi-Quellcode:
unit Utils;
interface uses Types; function Tokenize(const S: WideString; const C: WideChar): TWideStringDynArray; implementation ... |
Re: undefinierter bezeichner
ahh, danke :-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 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