Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Frage zu OLEVariant. (https://www.delphipraxis.net/10218-frage-zu-olevariant.html)

Evian 14. Okt 2003 09:46


Frage zu OLEVariant.
 
Hallo,
ich habe ein kleines Programm für Sehbehinderte geschrieben,
mit dem man den IE bedienen kann. Bei neu erzäugten Oleobjekten
funktioniert alles wunderbar, aber wenn ein IE - Fenster schon
vor meinem Programm offen war bzw. nicht durch mein Programm
geöffnet wurde, dann gibt es eine exception ... ist ja auch klar,
da die OLEVariant (bei mir IEApp) ja noch gar keinen Inhalt hat
und es dann bei EApp.Navigate(Edit1.text) zwangsläufig zu einem
Fehler kommen muss.

Nun meine Frage: Es muss doch irgendwie möglich sein meiner
OLEVariant - Variablen den Wert eines schon exestierenden Fensters
zuzuweisen, oder liege ich da föllig falsch?!

Also meine Prozedure, zur Navigation sieht vollgendermaßen aus:

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
VAR
WinHanlde : HWnd;
begin

IF key = #13 THEN
  BEGIN
    if( VarIsEmpty( IEApp ) )then
    begin
      WinHanlde := FindWIndow( 'IEFrame', nil );
      if( 0 <> WinHanlde )then
      BEGIN
       
        //IEApp muss existierender Brwoser werden.
       //IEApp.Navigate(Edit1.text);
     
      END ELSE
      nav;
    end else
    begin
      WinHanlde := FindWIndow( 'IEFrame', nil );
      if( 0 <> WinHanlde )then
      begin

        IEapp.Navigate(Edit1.text);
        SetForegroundWindow( WinHanlde );
      end else
      begin
        nav;
      end;
    end;
  END;
end;

Procedure Tform1.nav;
BEGIN
  IEApp        := CreateOLEObject('InternetExplorer.Application');
  IEApp.Visible := True;
  IEApp.Top    := 0;
  IEApp.Left   := 0;
  IEApp.Width  := Screen.Width;
  IEApp.Height := Screen.Height;
  IEApp.Navigate(Edit1.text);
END;
Also ich würe mich wie immer, über einen Tip freuen.

MFG

Evian

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz