Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Deklaration von Proceduren (https://www.delphipraxis.net/177452-deklaration-von-proceduren.html)

Frage95 7. Nov 2013 09:48

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"

Frage95 7. Nov 2013 09:50

AW: Deklaration von Proceduren
 
Unter Methode versteht man in Delphi

functionen oder Prozeduren

fuctionen und proceduren werden auch routinen gennant

beantwortet das deine frage?

DeddyH 7. Nov 2013 09:51

AW: Deklaration von Proceduren
 
Nein.

Back2Code 7. Nov 2013 09:51

AW: Deklaration von Proceduren
 
Greifst du mit der procedure test aus einer anderen Unit auf eine VCL Komponente zu?

Frage95 7. Nov 2013 09:53

AW: Deklaration von Proceduren
 
Nein tue ich nicht.

Würdest du mir die antwort sagen ? :shock:

baumina 7. Nov 2013 09:54

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;

Back2Code 7. Nov 2013 09:56

AW: Deklaration von Proceduren
 
Zitat:

Zitat von Frage95 (Beitrag 1234844)
Nein tue ich nicht.

Würdest du mir die antwort sagen ? :shock:

Wieso tust du dann vor

Delphi-Quellcode:
frmMAinform.ListBox1.Items
noch den Formnamen dazu? Ist doch nur notwendig wenn deine Procedure ausgelagert wäre in einer anderen Unit...

Frage95 7. Nov 2013 09:56

AW: Deklaration von Proceduren
 
okay danke es funktioniert

aber wieso muss ich diese in private deklarieren?

möchte nur verstehn was ich da tue?

Back2Code 7. Nov 2013 09:58

AW: Deklaration von Proceduren
 
Zitat:

Zitat von Frage95 (Beitrag 1234848)
okay danke es funktioniert

aber wieso muss ich diese in private deklarieren?

möchte nur verstehn was ich da tue?

private Ein private-Element kann nur innerhalb der gleichen Unit verwendet werden. Aus anderen Units ist ein Zugriff nicht möglich.

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.

http://www.delphi-treff.de/object-pa...f-auf-objekte/

DeddyH 7. Nov 2013 10:01

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 04:24 Uhr.
Seite 2 von 4     12 34      

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