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 ?