Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Properties Aufrufen der SetProzedur (Fehler E2250) (https://www.delphipraxis.net/115684-properties-aufrufen-der-setprozedur-fehler-e2250.html)

SaltJohn 16. Jun 2008 12:15


Properties Aufrufen der SetProzedur (Fehler E2250)
 
Hallo, bekomme bei folgendem Code für eine Klasse die Fehlermeldung:

Zitat:

[Pascal Fehler] LAdaptor.pas(38): E2250 Es gibt keine überladene Version von 'setZuordnung', die man mit diesen Argumenten aufrufen kann
Ich möchte mit setZuordnung den beiden Variablen FZuordnung[LAN] und FZuordnung[Wlan] einen String zuordnen. Doch leider schaffe ich es nicht die Properties von Zuordnung so einzustellen, dass die Prozedur setZuordnung aufgerufen werden kann.
Wenn ich allerdings Fzuordnung einfach als Array in Public setze geht alles.

Delphi-Quellcode:
type
    Ttype = (LAN,WLAN);
   TAdaptor = class(TObject)
   (...)

private   
FZuordnung  : Array [Ttype] of String;

procedure setZuordnung(nt : Ttype);
function getZuordnung(nt: Ttype): string;

public
property Zuordnung[nt : Ttype]: String read getZuordnung write setZuordnung;

Bernhard Geyer 16. Jun 2008 12:25

Re: Properties Aufrufen der SetProzedur (Fehler E2250)
 
Delphi-Quellcode:
procedure setZuordnung(nt : Ttype; Value: String);

SaltJohn 16. Jun 2008 13:21

Re: Properties Aufrufen der SetProzedur (Fehler E2250)
 
Danke Bernhard Geyer!

er kompiliert jetzt zwar bis zum Schluss aber sobald ich in der Anwendung den String zuweise möchte kommt es zu einem Stacküberlauf. Denke ich habe da noch irgendwo einen Patzer drinnen

Zugewiesen wird in Unit1 wird mit:

Delphi-Quellcode:
procedure Tform1.SetZuordnung(Sender: TObject);
begin
    Instanz1.Zuordnung[LAN] := ComboBox1.text;
    Instanz1.Zuordnung[WLAN] := ComboBox2.text;
end;
Die Aufgerufene Prozedur in der Klasse lautet dann:

Delphi-Quellcode:
procedure TAdaptor.setZuordnung(nt : Ttype; Value: String);
begin
    FZuordnung[rntLAN]  := Zuordnung[LAN];
    FZuordnung[rntWLAN] := Zuordnung[WLAN];
end;
Edit: Habs selbst rausbekommen :)

Delphi-Quellcode:
procedure TAdaptor.setZuordnung(nt : Ttype; Value: String);
begin
    FZuordnung[rntLAN]  := Value;
    FZuordnung[rntWLAN] := Value;
end;
Jetzt geht es. Nochmals Danke!

NormanNG 16. Jun 2008 13:25

Re: Properties Aufrufen der SetProzedur (Fehler E2250)
 
Hi,

versuch´s mal damit

Delphi-Quellcode:
procedure TAdaptor.setZuordnung(nt : Ttype; Value: String);
begin
    FZuordnung[nt]  := Value;
end;

SaltJohn 16. Jun 2008 13:27

Re: Properties Aufrufen der SetProzedur (Fehler E2250)
 
Hi NormanNG,

genau das wars! Habs aber selbst noch gemerkt ;)

NormanNG 16. Jun 2008 13:33

Re: Properties Aufrufen der SetProzedur (Fehler E2250)
 
Hi,

aber so, wie du es ober korrigiert hast, wirkt sich der Parameter nt nicht aus :gruebel:

Ich glaube nicht, das das so gewollt ist...

SaltJohn 16. Jun 2008 15:03

Re: Properties Aufrufen der SetProzedur (Fehler E2250)
 
Ja klar das war auch noch blödsinn. Hab heute einiges dazugelernt ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:00 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 by Thomas Breitkreuz