Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Wieso ist kein Overload bei Prozeduren einer Klasse möglich? (https://www.delphipraxis.net/191676-wieso-ist-kein-overload-bei-prozeduren-einer-klasse-moeglich.html)

Shark99 9. Feb 2017 15:20

Wieso ist kein Overload bei Prozeduren einer Klasse möglich?
 
Ich habe folgenden Code einer Klasse:
Delphi-Quellcode:
TConfigSaver = class
...
public
   procedure WriteString(Section, Ident, Value: string); overload;
   procedure WriteString(Section, Ident, Value: widestring); overload;
...
end;

..

procedure TConfigSaver.WriteString(Section, Ident, Value: string); overload; // fehler an dieser stelle
begin
  if IniFile then FIniFile.WriteString(section,ident,value)
             else FRegistry.WriteString(section+'_'+ident,value);
end;

procedure TConfigSaver.WriteString(Section, Ident, Value: widestring); overload;
begin
  if IniFile then FIniFile.WriteString(section,ident,UTF16ToUTF8(value))
             else FRegistry.WriteString(section+'_'+ident,UTF16ToUTF8(value));
end;
und bekomme unter D7 den Fehler beim Kompilieren:

[Error]: Invalid compiler directive: 'OVERLOAD'

Wieso ist hier kein Overload möglich?

DeddyH 9. Feb 2017 15:22

AW: Wieso ist kein Overload bei Prozeduren einer Klasse möglich?
 
Bei der Implementation wird das Wörtchen "overload" weggelassen, der Compiler weiß ja schon, dass die Methode überladen ist.

Shark99 9. Feb 2017 15:27

AW: Wieso ist kein Overload bei Prozeduren einer Klasse möglich?
 
Danke, das wars! Ich wollte noch anmerken wenn Prozeduren/Funktionen sich ausserhalb von Klassen befinden, das overload in der Implementation NICHT angemekert wird.

haentschman 9. Feb 2017 16:06

AW: Wieso ist kein Overload bei Prozeduren einer Klasse möglich?
 
Hallöle...8-)
Zitat:

Prozeduren/Funktionen sich ausserhalb von Klassen befinden
...das macht man aber auch nicht. :stupid:
[/Scherz Ende]

Blup 6. Mär 2017 21:40

AW: Wieso ist kein Overload bei Prozeduren einer Klasse möglich?
 
Kein Scherz, wenn man das sowohl bei der Deklaration, als auch Implementation normaler Prozeduren oder Funktionen overload angibt, kann das irgendwann interne Compilerfehler geben und man sucht sich dumm und dämlich nach der Ursache (zumindest in meiner Delphiversion).


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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