Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: Form überall wiederverwenden? Dafür Unit?

  Alt 28. Jan 2009, 01:36
War so in etwa zu erwarten. Alles ist zur Not doppelt und dreifach vorhanden und fest im Quelltext verankert. Die IDE wird dadurch in großen Teilen unbrauchbar gemacht. Bitte gucken (nicht ganz klares blieb stehen) :

Delphi-Quellcode:
interface

uses
  StdCtrls, ComCtrls, DB, ZAbstractRODataset, ZAbstractDataset, ZDataset,
  ZConnection, Graphics, SysUtils, DumbCrypt, Messages, Dialogs, Forms,
  Classes, UNITTCONTACTFORM;

  function AssignConfigFile(filename: String): Boolean;
  function InitDBConnection(ZConnection: TZConnection): Boolean;

type
  TSearchContactForm = class(TContactForm)
    SearchField: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure SearchFieldKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  private

  public

  end;


  TSettings = record
    skin: String[100];
    color: TColor;
    boxcolor: TColor;
    logo: String[255];
    winstart: Boolean;
    host: String[100];
    port: Integer;
    N
ame: String[30];
    User: String[30];
    Pass: String[50];
  end;

var
  fSettings: file of TSettings;
  dSettings: TSettings;
  frmSearchContactForm: TfrmSearchContactForm; // erzeugt durch Datei -> neu -> andere ...

implementation

function AssignConfigFile(filename: String): Boolean;
begin
  {...}
end;

function InitDBConnection(ZConnection: TZConnection): Boolean;
begin
  {...}
end;

procedure TSearchContactForm.SearchFieldKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  ShowMessage('SD');
end;
Tja, was ist das ? Eine abgeleitete Form. Alles aus der Ursprumgs-Unit ist ja bereits bekannt. Es werden nur noch die Änderungen innerhalb der neuen Form extra neu deklariert. Das kann im OI gemacht werden und steht dann in der DFM.

Nun gut, ca. 2 Mausklicks, dann siehts (bei mir) so aus wie im Anhang. Erzeugter Quelltext :

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TfrmArtSuch1 = class(TfrmArtSuch)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  frmArtSuch1: TfrmArtSuch1;

implementation

{$R *.dfm}

procedure TfrmArtSuch1.FormCreate(Sender: TObject);
begin
  inherited;

end;

end.
Das ist auch eine Suchform, die öfters und in diversen Projekten gebraucht wird. Das noch leere FormCreate kam eben hier dazu. Die Buttons etc. wurden schon im Vorgänger in Etwa richtig positioniert, die Schriftart auf fett gesetzt usw.

[edit=Luckie]Anhang ausgetauscht. Mfg, Luckie[/edit]
Miniaturansicht angehängter Grafiken
unbenanntjpg_139.jpg  
Gruß
Hansa
  Mit Zitat antworten Zitat