AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein auf procedure einer ander Unit zugreifen
Thema durchsuchen
Ansicht
Themen-Optionen

auf procedure einer ander Unit zugreifen

Ein Thema von Alex_ITA01 · begonnen am 16. Okt 2003 · letzter Beitrag vom 19. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2      
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

auf procedure einer ander Unit zugreifen

  Alt 16. Okt 2003, 12:33
hallo erstmal,
wie greife ich von Unit2 auf eine procedure von Unit 1 zu?
ich habe in den public teil schon

procedure Auswahl;

geschrieben aber da kommt ein fehler beim compilieren

kann mir bitte jemand helfen
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: auf procedure einer ander Unit zugreifen

  Alt 16. Okt 2003, 12:39
Moin Alex,

hast Du auch die unit1 unter uses mit eingetragen?

Ist das jetzt eine Prozedur, oder eine Methode?
In ersterem Falle würde eintragen unter Public nichts nutzen, ausser Du schreibst im implementation Abschnitt vor den Prozedurnamen noch den Klassenbezeichner, wodurch es dann zu einer Methode wird.
Dann musst Du allerdings in der anderen Unit auch noch den Namen der Objektvariablen mit vor den Methodenbezeichner schreiben, um die Methode aufzurufen.
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
Chillaa

Registriert seit: 12. Okt 2004
Ort: Schweiz
23 Beiträge
 
#3

Re: auf procedure einer ander Unit zugreifen

  Alt 19. Okt 2004, 14:52
in diesem Gebiet habe ich eine Wissenslücke in meinem Delphi-Hirnchen.

Gibts irgendwo eine Beschreibung/Übersicht/Erkärung zu der "Methoden-Geschichte"?
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#4

Re: auf procedure einer ander Unit zugreifen

  Alt 19. Okt 2004, 14:57
mittlerweile kenne ich mich auf diesem Gebiet recht gut aus und am besten du suchst mal nach OOP im Forum.
oder wie schon oben geschrieben, in den uses die Unit eintragen und dann kannst du mit dem UnitName.MyProcedure auch zugreifen.

Luckie hat dazu bestimmt irgendwo ein sehr gutes Tutorial

MFg Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Chillaa

Registriert seit: 12. Okt 2004
Ort: Schweiz
23 Beiträge
 
#5

Re: auf procedure einer ander Unit zugreifen

  Alt 19. Okt 2004, 15:11
Ich habe hier einfach meine Probleme.

In der Unit1 (MainForm) habe ich eine Prozedur worin eine Variable "typ" vorkommt. In der Unit2 (Formular2) wird dieser Variable ein neuer Wert zugewiesen. Dann sollte die Prozedur aus der Unit1 erneut aufgerufen werden, einfach mit dem neuen Wert der Variable "typ".

Eine Frage vorweg: Ist das möglich?

Habe mich durch diverse Threads gekämpft und bin dabei zum Schluss gekommen, dass es ohne Probleme möglich sein sollte.

Bei Implementation der Unit2 habe ich "uses unit1" eingefügt.

Jetzt habe ich einfach keine Ahnung, wie ich auf die Prozedur zugreife damit das hinhaut. Ich habe schon von TMainForm.Prozedurname über Prozedurname und MainForm.Prozedurname etc. alles mögliche ausprobiert und bin einfach nie zum Ziel gekommen

So wie von Alex beschrieben klappt es bei mir irgendwie nicht. Die Prozedur heisst "TMainForm.btn_statsClick".
Bei  unit1.TMainForm.btn_statsClick; kommt die Fehlermeldung "Nicht genügend wirkliche Parameter."

*verzweifel*
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#6

Re: auf procedure einer ander Unit zugreifen

  Alt 19. Okt 2004, 15:17
Ich gehe davon aus, dass diese Methode einer Komponente gehört, in diesem Fall einfach ein (nil) dranhängen, dann müsste es gehen.
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#7

Re: auf procedure einer ander Unit zugreifen

  Alt 19. Okt 2004, 15:20
so ein kleines beispiel:

MainForm:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TFormName = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    procedure MyOwnProcedure(Wert:Integer);
  end;

var
  FormName: TFormName;

implementation

{$R *.dfm}

{ TForm1 }

procedure TFormName.MyOwnProcedure(Wert: Integer);
begin
  Wert := Wert + 5;
end;

procedure TFormName.Button1Click(Sender: TObject);
begin
  MyOwnProcedure(5);
end;

end.
Form2:
Delphi-Quellcode:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Unit1, StdCtrls;

type
  TForm3 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
begin
  FormName.MyOwnProcedure(10);
end;

end.
Das geht!

Viel Glück

MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Chillaa

Registriert seit: 12. Okt 2004
Ort: Schweiz
23 Beiträge
 
#8

Re: auf procedure einer ander Unit zugreifen

  Alt 19. Okt 2004, 15:26
*freu**freu**freu**freu**freu*

Jetzt hab ich ja echt so langsam an mir gezweifelt!
Vielen Dank euch zweien für die schnellen Antworten und @Alex für das Beispiel!
Mit (nil) bin ich leider nicht zum Erfolg gekommen, denn der Hund lag beim
unit1.TMainForm.btn_statsClick; begraben.
Einfach das TMainForm zu MainForm ändern und gut ist/war/bleibts.
unit1.MainForm.btn_statsClick; Herzlichen Dank nochmal, wie schön, dass sogar ich das noch hingekriegt habe

*freu**freu**freu**freu**freu*
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#9

Re: auf procedure einer ander Unit zugreifen

  Alt 19. Okt 2004, 15:28
Hi!

Die Angabe der Unit davor kannst du glaube ich weglassen.

Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Chillaa

Registriert seit: 12. Okt 2004
Ort: Schweiz
23 Beiträge
 
#10

Re: auf procedure einer ander Unit zugreifen

  Alt 19. Okt 2004, 15:30
Danke

Jepp, im Code steht die nimmer drin. Im Forum ists wegen Copy&Paste aus dem alten Post wieder reingerutscht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11: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