Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delphi, Windows, ActiveX und die TWebBrowser (https://www.delphipraxis.net/134823-delphi-windows-activex-und-die-twebbrowser.html)

Popov 29. Mai 2009 20:51


Delphi, Windows, ActiveX und die TWebBrowser
 
Ich hab vor ein Tool zu schreiben und will, eigentlich nur wegen der Formatierung und eingebetteten Bilder, es über die TWebBrowser Komponente machen. Diese ActiveX Komponente kenne ich zwar schon lange, aber um ehrlich zu sein habe ich noch nie ein Programm mit einer ActiveX Komponente, also z.B. TWebBrowser, außerhalb meines Rechners genutzt. Ich mache mir also Gedanken über Übertragbarkeit des Programms. Was auf meinem Recher funktioniert, muß nicht auf einem anderen Rechener funktionieren. Normale Komponenten machen ja keine Probleme, nur weiß ich nicht wie das mit den ActiveX Komponenten ist.

Meine Frage ist also: wenn ich über 'ActiveX importieren' die TWebBrowser importiere und es nutze, wird es auch auf einem anderen Rechner funktionieren? Ich denke zwar schon, aber ich will mich vergeweissern.

Weiter gefragt, da das Tool auch theoretisch auf älteren Windows 98 Rechner genutzt werden könte, welche IE Version ist voraussetzung? 5.5, 6 oder noch ältere?

Und wie kann ich beim Programmstart prüfen ob alle Voraussetzungen für die ActiveX Komponente erfüllt sind? Letztendlich ist es wohl nur eine Schnittstelle die importiert bzw. erstellt wird. Viel habe ich mich mit den ActiveX Komponenten nicht beschäftigt. Wie kann man allgemein Prüfen ob die Komponenten auf dem anderen Rechner vorhanden sind?

jaenicke 29. Mai 2009 21:13

Re: Delphi, Windows, ActiveX und die TWebBrowser
 
Das funktioniert dann ab Windows 98, bei Windows 95 ist das noch nicht dabei ohne dass ein neuerer IE installiert wird.

Das siehst du auch in meinem Periodensystem, das ab Windows 95 läuft. Dort behandle ich das extra so, dass es da keine Fehler gibt.
Delphi-Quellcode:
  if (Win32Platform = VER_PLATFORM_WIN32_NT) or (Win32MinorVersion > 0) then // nicht Win95
  begin
    if not Assigned(frmBrowserWindow) then
      frmBrowserWindow := TfrmBrowserWindow.Create(frmMain);
    frmBrowserWindow.ShowPage(...);
    frmBrowserWindow.ShowModal;
  end
  else
{$endif}
  ShellExecute(Handle, 'open', PChar(...), '', '', SW_SHOWNORMAL);
Das heißt ich erzeuge das Fenster (und damit die Webbrowser-Komponente) nur wenn es sich nicht um Windows 95 handelt.
Exakter wollte ich da später testen, welche IE-Version vorhanden ist.

Wichtig ist, wenn du das so machst, dass das Formular nicht automatisch erstellt wird, weil es sonst beim Start einen Fehler gibt.

Und ein anderes Problem: AnimateWindow musste ich auch noch speziell behandeln, weil das vor Windows 2000 nicht funktionierte. Und zur Kompatibilität noch etwas: Bei einem Umstieg auf Delphi 2009 und neuer verliert man die Unterstützung für Windows 9x, da das Unicode noch nicht konnte.

Bernhard Geyer 30. Mai 2009 17:21

Re: Delphi, Windows, ActiveX und die TWebBrowser
 
TWebBrowser erfordert AFAIK sogar nur einen IE3. Also kannst du getrost irgendwelche Tests vergessen.

Zitat:

Zitat von jaenicke
... und neuer verliert man die Unterstützung für Windows 9x, da das Unicode noch nicht konnte.

WIn9x/ME konnte schon Unicode (siehe auch ElPack-Komponenten), jedoch nur eine sehr beschränkte Anzahl von API-Funktionen. Unicode unter Win95 war performancetechnisch auch eine Katastrophe

jaenicke 30. Mai 2009 17:57

Re: Delphi, Windows, ActiveX und die TWebBrowser
 
Zitat:

Zitat von Bernhard Geyer
TWebBrowser erfordert AFAIK sogar nur einen IE3. Also kannst du getrost irgendwelche Tests vergessen.

Also bei mir kommt dann ein OLE-Fehler oder so, ich kann nochmal nachschauen was da passierte. Das mag auch daran liegen, dass die neue TLB nur nicht kompatibel damit war, das habe ich jetzt nicht getestet, ich müsste mal D3 auf nem virtuellen PC mit Win95 installieren und es genauer anschauen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:54 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