AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OVERLOAD (Überladen) ?

Ein Thema von Gast · begonnen am 27. Jun 2002 · letzter Beitrag vom 27. Jun 2002
Antwort Antwort
Gast
(Gast)

n/a Beiträge
 
#1

OVERLOAD (Überladen) ?

  Alt 27. Jun 2002, 11:01
Hallo, 8)

Wer kann mir sagen wo ich einen Fehler mache?

Dieses Beispiel kann man Compieleren:

[code:1:08206b0fbd]
var
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2
  Alt 27. Jun 2002, 11:07
Compiliert es jetzt oder nicht?

Also bei mir funktioniert es bis auf die Warnung, das ABC nicht initialisiert ist (ist eben nur ein Beispiel), ohne Fehlermeldung.
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#3
  Alt 27. Jun 2002, 11:08
Er sagt doch das man es Komplizieren kann. Ich denke das er eine Warnung bekommt und kein Fehler.
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#4
  Alt 27. Jun 2002, 11:28
Ich meine ... man kann es compilieren...

ABER man bekommt eine FehlerMeldung

also es läuft NICHT...bei mir

Gruß

Paul Jr.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 27. Jun 2002, 11:52
Moin Paul,

bei mir tritt der Fehler auch auf (D5 Pro)
Wenn Du bei der ersten Deklaration das var weglässt geht's.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 27. Jun 2002, 11:53
Dein Problem liegt hier
Code:
PROCEDURE TForm1.Button1Click(Sender: TObject);
VAR
   ABC : ARRAY OF STRING;
BEGIN
   SetObject([Button1],>>>>>>>>ABC<<<<<<<<);
END;

Du hast folgende Methoden deklariert:


PROCEDURE SetObject(MainObject : ARRAY OF TObject; VAR MainVariable : ARRAY OF STRING); OVERLOAD;


und

PROCEDURE SetObject(MainObject : ARRAY OF TObject); OVERLOAD;

Dein Aufruf setzt jedoch eine Prozedur mit folgenden Parametern voraus:


PROCEDURE SetObject(MainObject : ARRAY OF TObject; VAR MainVariable : STRING); OVERLOAD;


oder Du änderst den Aufruf zu:

SetObject([Button1],[ABC]);

Du musst noch das var aus der Parameterliste entfernen!!!
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7
  Alt 27. Jun 2002, 11:54
Wieder ein Unterschied zwischen D6 und D5 gefunden.
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#8
  Alt 27. Jun 2002, 12:09
Danke Sakura,

ich probiere es aus...vielleicht wird das klappen...und den ARRAY OF STRING wird seine Werte via Prozedur dauerhaft ändern...

Gruß

Paul Jr.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#9
  Alt 27. Jun 2002, 12:16
Das Problem unter D5 ist, dass array of string in einer Prozedurdeklaration als "OpenArray" genutzt wird. Eine Variabel vom Typ array of string jedoch als dynamisches Array. Diese beiden Typen sind nicht vereinbar.
Über die deklaration eines neuen Typs:
Code:
type
  TStringArray = array of string;
kannst du dieses Problem umgehen.
Code:
procedure SetObject(MainObject: array of TObject;
  out MainVariable: TStringArray); overload;
begin
//
end;
...
procedure TForm1.Button1Click(Sender: TObject);
var
  ABC: TStringArray;
begin
  SetObject([Button1], ABC);
end;
  Mit Zitat antworten Zitat
Gast
(Gast)

n/a Beiträge
 
#10
  Alt 27. Jun 2002, 12:28
Hallo jbg,

natürlich...hast recht...Danke

Gruß

Paul Jr.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:57 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