Entwickler-Ecke
Internet / Netzwerk - TWebBrowser HTML Code ausführen
Novo - Di 03.04.07 16:45
Titel: TWebBrowser HTML Code ausführen
Hi
ich möchte in einem TWebBrowser ein HTML Code ausführen, OHNe es vorher als .html zu speichern un aufzurufen!
Er sagt aber jedes mal, nicht abgeschlossener String, wenn ich es direkt einfüge.
Danke
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| <object id="VIDEO" style="position: absolute; left: -4px; top: 681px;" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" height="200" width="300"> <param name="URL" value="http: name="SendPlayStateChangeEvents" value="True"><param name="AutoStart" value="True"> <param name="uiMode" value="mini"> <param name="PlayCount" value="9999"></object> |
ZeitGeist87 - Di 03.04.07 16:46
Hallo!
Problem sind die Anführungszeichen!
Schau dir mal die Funktion quotedStr() an!
LG
Stefan
Novo - Di 03.04.07 16:54
OK habe es gelöst,
was ich komisch fine, alle sagen, zuerst als HTML speichern, obwohl viele es nicht wollen!
Hier die Lösung:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| WebBrowser1.Navigate('about:'+'<object id="VIDEO"' +'style="position: absolute; left: -4px; top: 681px;"' +'classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"' +'type="application/x-oleobject" height="200" width="300">' +'<param name="URL" value="http://85.25.134.147:10540"><param' +'name="SendPlayStateChangeEvents" value="True"><param' +'name="AutoStart" value="True"> <param' +'name="uiMode" value="mini"> <param' +'name="PlayCount" value="9999"></object>') |
JayEff - Di 03.04.07 17:36
Das + zwischen about: und <.. kannst du weglassen. Beispiel:
aString := 'h' + 'a' + 'l' + 'l + 'o'; ist das selbe wie
aString := 'hallo';.
Aber das nur nebenbei. Eins stört mich noch: Das Delphiforum hat eine geniale Funktion, die deinen Quellcode wunderschön formatiert ausgibt, mit Syntaxhighlighting, fettgedruckten Schlüsselwörtern und sämtlichen Absätzen, die in deinem Code sind. Diese Funktion lässt sich einfach nutzen, in dem du deinen Code mit Delphi-Tags umschließt, etwa so:
<span class="inlineSyntax"><span class="codecomment">{PROTECTTAG9fa743c9d554e63906994cf746cb18fe}</span></span>! :mahn:
Auf diese Weise ersparst du unseren lieben Mods viel Arbeit und ausserdem werden dir die anderen Delphianer gerner helfen, zumal dein Code wesentlich leserlicher ist!
Bitte ändere das doch einfach, in dem du die

-Taste (bzw. für den Inline-Editor, falls im Profil AJAX aktiviert ist, die

-Taste) rechts neben deinem Beitrag benutzt.
Lannes - Di 03.04.07 18:52
Hallo,
@
Novo
Die Variante mit About ist sehr fehleranfällig, u.A. wenn der übergebene String zu lang wird.
Nimm besser den Code:
:!: Die Unit
ActiveX einbinden :!:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| procedure WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string); var sl: TStringList; ms: TMemoryStream; begin WebBrowser.Navigate('about:blank'); while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do Application.ProcessMessages;
if Assigned(WebBrowser.Document) then begin sl := TStringList.Create; try ms := TMemoryStream.Create; try sl.Text := HTMLCode; sl.SaveToStream(ms); ms.Seek(0, 0); (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)); finally ms.Free; end; finally sl.Free; end; end; end; |
Novo - Mi 04.04.07 21:53
danke, werds mir merken.
Nun noch eine Frage:
1.)
Ich habe die ActiveX Componente FlashPlayer installiert und damit eine KeyFM.swf zum laufen gebracht.
Nun liegt diese Datei nicht immer auf Laufwerk C:\.
Auch das Uploaden ist net so toll, da manche Leute ja kein Inet haben bzw nicht imemr verbunden sind.
Da diese Flashanimation nur ein Paar kb groß ist, möchte ich die als Ressource in die .exe integrieren und von da aufrufen.
Bitte schritt für Schritt erklären, ich habe schon die SUFU benutzt, aber nix gefunden, was funktioniert hat.
Ich habe den TshockWaveFlash doppelgeklickt und unter Movie den Pfad:
C:\KeyFM.swf eingegeben.
Wie das jetzt als Ressource?
Von mir aus kann das Programm die Ressource als .swf abspeichern, dann aufrufen, danach wieder löschen!
Dann noch ne frage:
2.)
Wenn ich eien Java Application im TWebBrowswer laufen lasse, kommt eine Fehlermeldung, Debugger aufrufen!
keyfm.de.vu öffnen dann auf Chat ...
dann kommt diese Meldung, funktionieren tuts trotzdem ... o0
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.Label1Click(Sender: TObject); begin frmOnline.show; frmOnline.WebBrowser1.Navigate('http://keyfm.de.vu/'); frmOnline.WebBrowser1.SetFocus; end; |
Vielen Dank für eure anregungen!
Das delphi /delphi beherrsche ich jetzt auch xD
Novo - Mi 04.04.07 22:09
Bitte hilft mir noch bei meiner 2. frage..
Ich brauche das noch heute Abend!
dankee
raziel - Mi 04.04.07 22:17
Zum einen: Bitte pro Topic nur eine Frage, weil das Diskutieren mehrerer Fragen in einem Topic meist zu Chaos führt. Deshalb hab ich das hier erstmal zu gemacht. Erstell bitte zu jeder Frage ein eigenes Topic, Danke.
Zum anderen: Bitte nicht drängeln. Schiebepostings sind zwar erlaubt, aber erst nach frühestens 24 Stunden und nicht nach gerade mal 16 Minuten...
Gruß,
raziel
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!