Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Unit system explizit angeben (https://www.delphipraxis.net/154613-unit-system-explizit-angeben.html)

khh 17. Sep 2010 15:56

Unit system explizit angeben
 
hallo zusammen,
in folgender function nöchte ich die function system.pos verwenden.
Delphi-Quellcode:
function StrTran(Textstring,Such,Ersetz:string):string;
var nPos, nCounter :integer;
begin
nCounter := 0;
While Pos(Such,Text)>0 do
begin
nPos := Pos(Such,Text);
Delete(Textstring,nPos,length(Such));
Insert(Ersetz,Textstring,nPos);
inc(nCounter);
if nCounter > 255 then
break;
end;
Result := Textstring;
end;
Delphi-Quellcode:
Function Pos (const Substr : AnsiString; const Source : AnsiString) : SizeInt;
wenn ich die funktion als funktion von Torm einbinde,
also function TForm.StrTran(Textstring,Such,Ersetz:string):strin g;

dann klappt das auch.
Sobald ich aber die Funktion in eine separate unit auslagere also:

function StrTran(Textstring,Such,Ersetz:string):string;

dann nimmt er nicht mehr die funtion aus systemh.inc , sondern aus varianth.inc, was zur Folge hat, dass die Argumente nicht passen.

ein expliziter Aufruf von system.pos funktioniert auch nicht.

Was mache ich falsch?

Achtung Lazarus!

Danke Gruss KHH

Luckie 17. Sep 2010 16:03

AW: Unit system explizit angeben
 
Ist Pos nicht in der Unit SysUtils enthalten?

Stevie 17. Sep 2010 16:05

AW: Unit system explizit angeben
 
Zitat:

Zitat von Luckie (Beitrag 1050315)
Ist Pos nicht in der Unit SysUtils enthalten?

Nein

Zitat:

Zitat von khh (Beitrag 1050313)
in folgender function möchte ich die function system.pos verwenden.

Geht voll qualifizieren (also
Delphi-Quellcode:
while System.Pos(Such, Text) > 0 do
) in Lazarus nicht?

Luckie 17. Sep 2010 16:11

AW: Unit system explizit angeben
 
Zitat:

Zitat von Stevie (Beitrag 1050316)
Zitat:

Zitat von Luckie (Beitrag 1050315)
Ist Pos nicht in der Unit SysUtils enthalten?

Nein

Tatsächlich. Hast recht.

khh 17. Sep 2010 18:13

AW: Unit system explizit angeben
 
Zitat:

Zitat von Stevie (Beitrag 1050316)
Zitat:

Zitat von Luckie (Beitrag 1050315)
Ist Pos nicht in der Unit SysUtils enthalten?

Nein


Geht voll qualifizieren (also
Delphi-Quellcode:
while System.Pos(Such, Text) > 0 do
) in Lazarus nicht?

doch normalerweise schon,
aber auch wenn ich system.pos in beiden Varianten verwende ändert das nix am Ergebnis.
In einem Fall gehts nach systemh, im anderen nach varianth :-(

Teekeks 17. Sep 2010 18:35

AW: Unit system explizit angeben
 
Dann musst du auch dort das system. davor setzen...

khh 17. Sep 2010 18:37

AW: Unit system explizit angeben
 
Zitat:

Zitat von Teekeks (Beitrag 1050339)
Dann musst du auch dort das system. davor setzen...



hab ich doch :-(

Teekeks 17. Sep 2010 18:38

AW: Unit system explizit angeben
 
hmmm, wo genau geht er denn noch in die variantsh?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:40 Uhr.

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