Einzelnen Beitrag anzeigen

BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#22

AW: Routine mit Namen aufrufen

  Alt 21. Feb 2015, 15:27
(wenn schon, dann maximal ein TDataModul)
Fuss von Schlauch hochheb.

Ja klar, ein Datenmodul geht ja auch.

Es wird beim Programmstart auch automatisch erzeugt und es muss auch in Form1 nie etwas geändert werden, da ja die Units mit den Funktionen nicht in Form1 bekannt gemacht werden müssen.

Bei Erweiterungen des Programms entweder ein Datenmodul oder eben eine Form, wenn die Funktionen in einem Fenster enthalten sind, welches sowieso benutzt wird.

Würde der TE etwas anderes benutzen, dann müsste er immer selbst dafür sorgen, dass der entsprechende Container auch erzeugt wird.

So kann er einfach ein neues Fenster oder Datenmodul erstellen und braucht an keiner anderen Stelle etwas zu ändern.

Unit3 als Datenmodul:
Delphi-Quellcode:
unit Unit3;

interface

uses
  SysUtils, Classes, Dialogs;

type
  TDataModule3 = class(TDataModule)
    procedure Job1();
    procedure Job2();
    procedure Job3();
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  DataModule3: TDataModule3;

implementation

{$R *.dfm}

procedure TDataModule3.Job1();
begin
  ShowMessage('DataModule3 - Job1');
end;

procedure TDataModule3.Job2();
begin
  ShowMessage('DataModule3 - Job2');
end;

procedure TDataModule3.Job3();
begin
  ShowMessage('DataModule3 - Job3');
end;

end.

zum Test dieses noch in den Constructor Form1.Create der Form1 hinzufügen

Delphi-Quellcode:
  ListBox1.Items.Add('DataModule3/Job1');
  ListBox1.Items.Add('DataModule3/Job2');
  ListBox1.Items.Add('DataModule3/Job3');
und man sieht, es geht selbstverständlich auch.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat