AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Procedure zuweissung

Ein Thema von poterp · begonnen am 29. Jun 2007 · letzter Beitrag vom 29. Jun 2007
Antwort Antwort
poterp

Registriert seit: 27. Mär 2005
175 Beiträge
 
#1

Procedure zuweissung

  Alt 29. Jun 2007, 19:28
Hallo Experte,
ich habe ein Problem uzw. ich habe eine Anwendung mit 2 Units (Unit1 und Unit2).
ich habe eine Procedure auf Units2 geschrieben und jetzt möchte ich diese Procedure auf Unit1 zuweisen. wie kann ich es am besten lösen???
z.B.:
Delphi-Quellcode:
Unit unit1
.....
procedure machwas(X: Real = 1.0; I: Integer = 0; S: string = '');
begin
end;
und jetzt dachte bei Unit2 wurde ich sowas machen
Delphi-Quellcode:
unit unit2
.....

procedure wasdenn(X: Real = 1.0; I: Integer = 0; S: string = '');
begin
form1.machwas();
end;
es geht aber nicht. was jemand wie es geht?
danke
poter
  Mit Zitat antworten Zitat
Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#2

Re: Procedure zuweissung

  Alt 29. Jun 2007, 19:49
So gehts:

Form1:
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    procedure machwas;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.machwas;
begin
  showmessage('hello world');
end;

end.

Form2:
Delphi-Quellcode:
unit Unit2;

interface

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

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

var
  Form2: TForm2;

implementation

uses Unit1;

{$R *.DFM}

procedure TForm2.Button1Click(Sender: TObject);
begin
  form1.machwas;
end;

end.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Procedure zuweissung

  Alt 29. Jun 2007, 19:50
Hallo Poter,

als erstes musst du entscheiden, ob deine Prozedur auf Objektvariablen der Form Zugriff nimmt. Wenn ja, dann mach die Prozedur zu einer Methode der Form. Du erreichst die Prozedur dann über ihren qualifizierten Namen {Unit1}.Form1.MachWas().

Wenn die Prozedur von der Form1 vollständig entkoppelt werden kann, dann würde ich sie in einer eigenen Unit3 unterbringen. Dort gehört dann der Prozedurkopf in den Abschnitt "Interface" un die vollständige Prozedur in den Abschnitt "Implementation". Nachdem du die Unit3 in die Uses-Klausel von Unit2 aufgenommen hast, kannst du MachWas() überall in Unit2 aufrufen.

Grüße vom marabu
  Mit Zitat antworten Zitat
poterp

Registriert seit: 27. Mär 2005
175 Beiträge
 
#4

Re: Procedure zuweissung

  Alt 29. Jun 2007, 22:12
Danke Marabu, ich werde es probieren
bist ein echter Marabu??? -)
grüß
poter
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Procedure zuweissung

  Alt 29. Jun 2007, 22:48
Hallo,

Zitat von poterp:
... bist ein echter Marabu? ...
aber klar doch, hier ein Bild von mir. Ist schon etwas älter. Ich hatte damals die Beine rasiert. Du würdest mich jetzt nicht wieder erkennen, glaube ich. klick

Gute Nacht
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf