![]() |
AW: Deklaration von Proceduren
Das habe ich jz gemacht erhalte aber den gleichen Fehler plus noch einen oben drauf
"Diese Form des MEthodenaufrufs ist nur für Klassenmethoden erlaubt" |
AW: Deklaration von Proceduren
Unter Methode versteht man in Delphi
functionen oder Prozeduren fuctionen und proceduren werden auch routinen gennant beantwortet das deine frage? |
AW: Deklaration von Proceduren
Nein.
|
AW: Deklaration von Proceduren
Greifst du mit der procedure test aus einer anderen Unit auf eine VCL Komponente zu?
|
AW: Deklaration von Proceduren
Nein tue ich nicht.
Würdest du mir die antwort sagen ? :shock: |
AW: Deklaration von Proceduren
Dann halt nochmal ausführlich:
Delphi-Quellcode:
interface
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, slstbox, CurvyControls, Winsock, AdvGlassButton, ColListb; type TfrmMainForm = class(TForm) EdNickname: TCurvyEdit; Label1: TLabel; ListBox1: TListBox; BtnAusführen: TAdvGlassButton; procedure BtnAusführenClick(Sender: TObject); private // <---- procedure test; end;
Delphi-Quellcode:
implementation procedure TfrmMainForm.test; // <--- var ta,Test : string; begin Ta := EdNickname.Text; Test := ListBox1.Items[ListBox1.ItemIndex]; if Test = Ta then begin frmClient.Show; end; end; |
AW: Deklaration von Proceduren
Zitat:
Delphi-Quellcode:
noch den Formnamen dazu? Ist doch nur notwendig wenn deine Procedure ausgelagert wäre in einer anderen Unit...
frmMAinform.ListBox1.Items
|
AW: Deklaration von Proceduren
okay danke es funktioniert
aber wieso muss ich diese in private deklarieren? möchte nur verstehn was ich da tue? |
AW: Deklaration von Proceduren
Zitat:
protected Ein protected-Element ist wie ein private-Element innerhalb der gleichen Unit verwendbar. Darüberhinaus haben alle abgeleiteten Klassen darauf Zugriff, unabhängig davon, in welcher Unit sie sich befinden. public public-Elemente unterliegen keinen Zugriffsbeschränkungen. ![]() |
AW: Deklaration von Proceduren
Wieso unbedingt unter private würde mich auch interessieren. Aber davon ab: eine Methode gehört zu einer Klasse (oder genauer, einer Instanz der Klasse), eine reguläre Routine nicht.
Delphi-Quellcode:
type
TDings = class (* Deklaration der Methode Bums der Klasse TDings *) procedure Bums; end; (* Prototyp der regulären Prozedur Wuppdi *) procedure Wuppdi; implementation (* Implementation der Methode, der Klassenname ist zwingend voranzustellen *) procedure TDings.Bums; begin ... end; (* Implementation der Prozedur Wuppdi ohne Klassennamen (welchen denn auch?) *) procedure Wuppdi; begin ... end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 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-2025 by Thomas Breitkreuz