Einzelnen Beitrag anzeigen

dakleene

Registriert seit: 2. Jan 2004
Ort: Bremen
9 Beiträge
 
Delphi 5 Enterprise
 
#1

wie geh ich mit units um ?

  Alt 17. Jan 2004, 23:18
Hallo dp'ler

Units soweit ich weiss nutzt man zur u.a. auch zur auslagerung fuer z.B. seine Utility sammlung oder auch damit der source uebersichtlicher bleibt ?!
Korregiert mich bitte wenn ich damit falsch liege, ich versuche mich in sachen programmieren noch nicht allzulange, um genauer zu sein erst seit etwa ein halbes jahr.

um auf den Punkte zukommen habe ich ein komplett neues project begonnen, ich habe nun eine HauptForm mit einer dementsprechenden HauptUnit, auf die HauptForm um bei meinem beispiel zu bleiben habe ich einen Panel und einen Button gepackt.

Wenn ich diesen Button klicke möchte ich dass dynamisch aus einer weiteren Unit (ich nenne sie mal FormloseUnterUnit) ein tWebBrowser auf den Panel kreiert wird.

Bis dahin alles kein problem. Wie jedoch gehe ich dann mit ereignissen um ? Ich moechte die ereignisse nicht in meiner HauptUnit schreiben sondern auch in meine (wie ich sie vorhin genannt und auch weiterhin nun mal nenne) FormloseUnterUnit.

Delphi-Quellcode:
unit HauptUnit;

interface

uses
  ...;

type
  THauptForm = class(TForm)
    vPanel: TPanel;
    Button: TButton;
    ...
    procedure ButtonClick(Sender: TObject);
    ...
  private
  public
    meinDollerBrowser : TWebBrowser;
  end;

var
  HauptForm: THauptForm;

implementation

uses
  FormloseUnterUnit;

{$R *.DFM}

procedure THauptForm.ButtonClick(Sender: TObject);
begin
  kreierMalLos;
end;

end.
Delphi-Quellcode:
unit FormloseUnterUnit;

interface

uses
  SHDocVw;

  procedure kreierMalLos;
  procedure jauNuIsDocumentComplete(Sender: TObject;
    const pDisp: IDispatch; var URL: OleVariant);

implementation

uses
  HauptUnit;

procedure jauNuIsDocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  HauptForm.Caption := 'Test erfollgreich';
end;

procedure kreierMalLos;
begin
  HauptForm.meinDollerBrowser :=TWebBrowser.Create(HauptForm.vPanel);
  HauptForm.meinDollerBrowser.Height := 150;
  HauptForm.meinDollerBrowser.Left := 0;
  HauptForm.meinDollerBrowser.Silent := True;
  HauptForm.meinDollerBrowser.Top := 0;
  HauptForm.meinDollerBrowser.Width := 150;
  HauptForm.vPanel.InsertControl(HauptForm.meinDollerBrowser);
  HauptForm.meinDollerBrowser.Navigate ('http://www.google.de');
  HauptForm.meinDollerBrowser.OnDocumentComplete := jauNuIsDocumentComplete; // hier liegt mein Problem
  { mit der Fehlermeldung kann ich leider auch nix anfangen }
end;

end.
Hab ich etwas vergessen, wenn ja was oder habe ich fehler gemacht ?
holla dass ging aber auch schonmal schneller :-d
  Mit Zitat antworten Zitat