Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   TObject ausgeben (https://www.delphipraxis.net/158251-tobject-ausgeben.html)

DeddyH 10. Feb 2011 15:58

AW: TObject ausgeben
 
Du hast Var-Parameter deklariert, übergibst aber Konstanten.

EWeiss 10. Feb 2011 16:02

AW: TObject ausgeben
 
Das geht so nicht Typen müssen gleich sein,
Du kannst hier als Beispiel nicht einfach "124" eingeben
Besser deklarieren

Delphi-Quellcode:
var
  Test: Integer;

Test := 124;
Prozedur (Sender, Test, x, x, 'x', '', x);
oder aber den var Parameter entfernen wenn er nicht benötigt wird.
Wäre dann.

Delphi-Quellcode:
Prozedur(ASender:TObject; var1, var2, var3: integer; var4, var5: wideString; var6: Integer);
[...]
gruss

Mike_ 10. Feb 2011 16:07

AW: TObject ausgeben
 
Hab es nun entsprechend abgeändert dass ich Variablen in der ButtonClick Prozedur festgelegt habe und die andere Prozedur damit aufrufe.

Nun kommt "This form of method call only allowed for class methods"

Delphi-Quellcode:
procedure TMainForm.ButtonClick(Sender: TObject);
var
var1, var2, var3: Integer;
var4, var5: WideString;
var6: Integer;
begin
var1 := 18;
var2 := 65605;
var3 := 51103;
var4 := '533';
var5 := '';
var6 := 8;

AndereProzedur(Sender as Classname, var1, var2, var3, var4, var5, var6);

end;
(Classname = das, was vorhin bei Sender.Classname herauskam)


Original Prozedur:

Delphi-Quellcode:
Prozedur(ASender:TObject; var var1, var2, var3: integer; var var4, var5: wideString; var var6: Integer);

DeddyH 10. Feb 2011 16:21

AW: TObject ausgeben
 
Lass das "as Classname" einmal weg.

EWeiss 10. Feb 2011 16:22

AW: TObject ausgeben
 
Zitat:

Zitat von DeddyH (Beitrag 1080868)
Lass das "as Classname" einmal weg.

:lol:
sorry konte es nicht verkneifen.

DeddyH 10. Feb 2011 16:24

AW: TObject ausgeben
 
Zitat:

Zitat von EWeiss (Beitrag 1080869)
:lol:
sorry konte es nicht verkneifen.

:?:

Blup 10. Feb 2011 16:25

AW: TObject ausgeben
 
Sender as Classname
:gruebel::gruebel::gruebel::wiejetzt:
Was willst du dem Compiler den damit sagen?

Die Prozedur erwarten einen Sender als ersten Parameter und das soll ein Object vom Typ TObject oder einer abgeleitete Klasse sein.
Delphi-Quellcode:
AndereProzedur(Sender, var1, var2, var3, var4, var5, var6);

EWeiss 10. Feb 2011 16:45

AW: TObject ausgeben
 
Zitat:

Zitat von DeddyH (Beitrag 1080870)
Zitat:

Zitat von EWeiss (Beitrag 1080869)
:lol:
sorry konte es nicht verkneifen.

:?:

OT:

Ich meinte nicht dich.
Sondern den Eintrag Sender as Classname
und das du ihm sagen mußtest das er es entfernen soll (was ja richtig ist)

Naja jeder fängt mal klein an.
Nicht so ernst nehmen mein Kommentar.

gruss

DeddyH 10. Feb 2011 16:51

AW: TObject ausgeben
 
Achso, ich dachte, Du hättest mich gemeint :lol:

Mike_ 10. Feb 2011 16:55

AW: TObject ausgeben
 
Der Fehler lag daran, dass ich eine Klasse der Prozedur aufgerufen hatte und nicht die "Hauptprozedur" selbst.

Beispiel vorher:

TTProzedur.x

richtig:

tProzedur.x

Danke für eure Hilfe, sie hat mich zum erfolgreichen Ergebnis getrieben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.
Seite 2 von 3     12 3      

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