Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TWebBrowser auf Formular -> Formular wird nicht angezeigt (https://www.delphipraxis.net/102090-twebbrowser-auf-formular-formular-wird-nicht-angezeigt.html)

BOH 24. Okt 2007 10:40

Re: TWebBrowser auf Formular -> Formular wird nicht angez
 
Sorry, hat etwas länger gedauert, bis ich mich dem Problem wieder widmen konnte...

Zitat:

Zitat von stahli
Standard-Webbrowser mit Standard-Einstellungen ohne geladenes Dokument - dann auch?
Lade doch mal ein Screencopy hoch...

Ich würde mal noch die anderen Formularereignisse durchtesten, incl. MouseOver etc.
Vielleicht ergibt sich daraus etwas.

stahli

@stahli
Wenn Du mit Standard-Webbrowser meinst, daß ich ihn einfach unverändert aufs Formular lege, dann ist es Standard, ja. Und es passiert dann auch. Neues Formular ohne Veränderungen, neuen Webbrowswer ohne Veränderungen, auch wenn keine Seite geladen wird: boing... Und ein Screenshot bringt nicht wirklich etwas. Es zeigt lediglich ein weißes Rechteck in der eingestellten Größe 150*300 :|

Das mit dem "AlphaBlend" versuch ich auch mal...


Zitat:

Zitat von shmia
Versuche folgendes:
1.) das Formular in den Projektoptionen automatisch erzeugen lassen und ganz nach vorne schieben
Dann sieht die Projektdatei ungefähr so aus:
Delphi-Quellcode:
begin
  Application.Initialize;
  Application.CreateForm(TBrowserTestform, BrowserTestform); // das Testformular ist jetzt das 1. das erzeugt wird
  BrowserTestform.ShowModal;  // von Hand dazu
  Application.CreateForm(TForm0815, Form0815);
  ....
  Application.run;

@shmia
Sobald ich das mache, erhalte ich einen EOleError. Schiebe ich das Create weiter nach hinten, kommt noch ein RuntimeError hinzu. :?

stahli 24. Okt 2007 10:52

Re: TWebBrowser auf Formular -> Formular wird nicht angez
 
Hast Du den Webbrowser auch mal testweise auf das MainForm gesetzt?
Versuchsweise kannst Du auch mal alle anderen Formulare nicht automatisch erzeugen lassen (aus Projektoptionen entfernen)...
Gibt es ein Splash-Formular, das vielleicht irgendwelche Transparent-Funktionen nutzt?

BOH 24. Okt 2007 10:57

Re: TWebBrowser auf Formular -> Formular wird nicht angez
 
Ja, hab ich: EOleError und RunTimeError. Splashscreen gibt es keinen und Transparentfunktionen werden nciht genutzt. Ehrlich gesagt, hab ich das auch mit Delphi 5 noch nie ausprobiert.

BOH 24. Okt 2007 11:45

Re: TWebBrowser auf Formular -> Formular wird nicht angez
 
Dies ist kein Pushen, ich hab nur eine Lösung gefunden: :dancer:

Angeregt durch shmias Vorschlag, mit Verschieben des CreateForm zu experimentieren, gemischt mit einem Ohnmachtsgefühl und dem Wissen, daß nichts in der EDV so blöd sein kann, daß man es nicht einfach mal ausprobieren sollte :zwinker: , habe ich das Formular in der Uses-Klausel des Projektes mal testweise ganz nach oben gestellt:

Delphi-Quellcode:
program Anwendungsname;

uses
  BrowserTestform in 'BrowserTestform.pas', //<= an erster Stelle eingefügt
.
.
.
 
begin
  Application.Initialize;
.
.
.
  Application.Run;
end.
Und obwohl ich nicht gedacht hätte, daß das Erfolg haben könnte (da ich mir das nicht erklären kann), hat es funktioniert... :mrgreen:

Vielen dank an stahli und shmia, ihr habt mir gute Tipps gegeben, wie ich weiter testen kann, um den Fehler zu finden :dp:


Kann mir das denn einer erklären, woran es liegen kann, daß es eine Rolle spielt, an welcher Stelle das Formular in der Uses-Klausel steht...?! :gruebel:


Nachtrag:
Zu früh gefreut :cry:

Es funktioniert auch nur wenn ich das Formular an erster Stelle einfüge, ansonsten nicht. Dann allerdings bekomme ich beim Beenden der Anwendung regelmäßig einen Runtime-Error... :wall:

stahli 24. Okt 2007 12:12

Re: TWebBrowser auf Formular -> Formular wird nicht angez
 
Ich würde in der Programmunit nicht unbedingt von Hand etwas ändern. Ich habe das nur mal wegen einem Spashscreen gemacht.

Hast Du Dir mal die Projektoptionen angesehen (automatisch erzeugte / verfügbare Formulare)?

Vielleicht bindet doch eine von Dir benutzte Unit wiederum eine Unit ein, die so einen Effekt mit sich bringt (ähnlich der FlickerReduce...)?

BOH 24. Okt 2007 12:28

Re: TWebBrowser auf Formular -> Formular wird nicht angez
 
Es werden drei Datenmodule und das Mainform automatisch erzeugt. Wenn ich das nicht so lasse, startet garnichts mehr.

So eine Unit hab ich bisher noch nicht finden können... :|


Noch'n Nachtrag:

Nun hab ich, trotz anderer Empfehlung von stahli :zwinker: , die ganzen (laut Icarus "Modules that are referenced in the Delphi project file, but not used:") unnützen Einträge in der Programmunit auskommentiert. Scheint nun tatsächlich zu funktionieren. Auch ohne Runtimeerror 217 am Ende. *aufholzklopf*.

Vielleicht wurde das doch einfach mal zuviel, daß dort über 350 automatische Einträge enthalten waren...?! :?

stahli 24. Okt 2007 13:09

Re: TWebBrowser auf Formular -> Formular wird nicht angez
 
Hallo BOH,

freut mich für Dich :-D

Allerdings hast Du vielleicht den von mir gewünschten Original-Zustand der Programmunit wieder hergestellt...!?
Delphi erzeugt die ja normalerweise selbst und unnütze Einträge sollten dort eigentlich nicht drin stehen. :zwinker:
Ich würde die wirklich nur in Ausnahmefällen mal manipulieren (und ganz vorsichtig).

stahli

BOH 24. Okt 2007 13:20

Re: TWebBrowser auf Formular -> Formular wird nicht angez
 
Danke stahli :thumb:

Delphi erzeugt ja für jedes Formular solch einen Eintrag

Delphi-Quellcode:
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};
..., scheint diese aber nicht wirklich zu benötigen. Außer für die automatisch erzeugten Formulare. Nun hab ich alle Einträge, bis auf die vier autom. erzeugten, gelöscht und es scheint auf den ersten Blick alles wie gewünscht zu laufen.

Laut Icarus werden diese nicht benutzt. Das hatte mich dazu veranlaßt, sie mal auszukommentieren. Bisher haben sie ja auch nicht gestört. Nur beim TWebBrowser halt. Möglicherweise wirklich zuviele Einträge. Warum auch immer... :|

Besten Dank, an Euch beide, für die geduldige Hilfe :thumb:

Kevin 24. Okt 2007 18:07

Re: TWebBrowser auf Formular -> Formular wird nicht angez
 
Schön und gut, aber Du wirst dann kein Formular mehr so einfach zum Bearbeiten aufrufen können, da es dem Projekt nicht mehr zugeordnet ist. :???:

BOH 25. Okt 2007 12:32

Re: TWebBrowser auf Formular -> Formular wird nicht angez
 
Danke Kevin, mittlerweile bin ich nochmals einen großen Schritt weiter.

Es gibt eine Unit, die als erste in der Projektdatei steht. Sobald diese aktiviert ist, kann ich den TWebbrowser vergessen und mein o.g. Problem taucht wieder auf. Deaktiviere ich sie, hab ich das Problem nicht.

Es handelt sich um folgende Unit:

Delphi-Quellcode:
unit _ComInit;

interface

uses
  ActiveX;

implementation

initialization
  CoInitializeEx(nil,COINIT_MULTITHREADED);
finalization
  CoUninitialize;
end.
Kann mir jemand sagen wofür diese gebraucht werden könnte, damit ich gezielt nachschauen kann, ob sie auch wirklich noch benötigt wird..?!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr.
Seite 2 von 3     12 3      

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