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 Sourcecode auslesen (https://www.delphipraxis.net/66794-twebbrowser-sourcecode-auslesen.html)

Mavarik 5. Apr 2006 06:53

Re: TWebBrowser Sourcecode auslesen
 
Zitat:

Zitat von Sven Janssen
Ja schon gesehen in den Link oben. Ist aber blocking und somit nicht gerade das Gelbe vom Ei.

Was auch immer blocking ist?

Ich dachte es ging dir darum, die XML-Source zu lesen!

Frank

Sven Janssen 5. Apr 2006 07:27

Re: TWebBrowser Sourcecode auslesen
 
Naja blocking ist das Gegenteil von non-blocking ;-)
Sprich das Programm hängt im Moment wo ich etwas herunterlade.

Ich teste das mal aus, denn mit UrlDownloadToFile komme ich gerade nicht weiter. Weder meine Callbacks werden ausgeführt noch tut sich irgendetwas in meinem Programm. Es hängt sich komplett auf.

Sven

marabu 5. Apr 2006 07:27

Re: TWebBrowser Sourcecode auslesen
 
Hallo Sven,

Zitat:

Zitat von Sven Janssen
Das Problem ist, das ich eine XML Datei von einem Intranet/Internet Server herunterladen muss und wirklich an den Original XML Code kommen muss. Der XML Code selber wird durch eine HTTP Anfrage generiert. Nun ist der IE (TWebBrowser ) so clever und bereitet den XML Code für die Anzeige auf. Nur leider kann ich damit dann nichts mehr anfangen.

ich kann mir das nur so vorstellen, dass vom Server XML mit client-seitiger Transformation über ein referenziertes XSLT-Skript (xml-stylesheet) ausgeliefert wird. In dem Fall könntest du dir das XML-Dokument einfach so holen:

Delphi-Quellcode:
uses
  MSXML2;

var
  xd: IXMLDOMDocument;

begin
  xd := CoDomDocument.Create;
  xd.async := false;
  if xd.Load('http://server/demo.xml')
    then ShowMessage(xd.xml)
    else ShowMessage('dont''t call us - we call you');
end;
Grüße vom marabu

Sven Janssen 5. Apr 2006 07:29

Re: TWebBrowser Sourcecode auslesen
 
@marabu

Die MSXML2 gibt es nicht unter Delphi6.
Wo könnte man die her bekommen?

Sven

marabu 5. Apr 2006 07:33

Re: TWebBrowser Sourcecode auslesen
 
Du importierst sie einfach:

Code:
tlibimp -Fe- %windir%\system32\msxml4.dll
Anschließend "Komponente installieren".

marabu

Mavarik 5. Apr 2006 07:37

Re: TWebBrowser Sourcecode auslesen
 
Zitat:

Zitat von Sven Janssen
Naja blocking ist das Gegenteil von non-blocking ;-)
Sprich das Programm hängt im Moment wo ich etwas herunterlade.

Ich teste das mal aus, denn mit UrlDownloadToFile komme ich gerade nicht weiter. Weder meine Callbacks werden ausgeführt noch tut sich irgendetwas in meinem Programm. Es hängt sich komplett auf.

Sven

Dann nimm die Procedure doch in einen Thread!

Frank

Sven Janssen 5. Apr 2006 07:56

Re: TWebBrowser Sourcecode auslesen
 
Zitat:

Zitat von marabu
Du importierst sie einfach:

Code:
tlibimp -Fe- %windir%\system32\msxml4.dll
Anschließend "Komponente installieren".

marabu

Was ist dann mit den Computern auf dem das Programm läuft. Benötigen diese auch die DLL?

Sven

Sven Janssen 5. Apr 2006 08:00

Re: TWebBrowser Sourcecode auslesen
 
@Mavarik

das klappt nun schon ganz gut (danke). Das mit dem Thread werde ich nachher noch machen. Hatte ich total vergessen das ich es auch darüber lösen könnte.
Kennst Du dich etwas besser mit dem WinINET Funktionen aus?
Mir geht es da gerade um http://msdn.microsoft.com/library/de...aavailable.asp
Die gibt mir immer false zurück. Ich würde aber ganz gerne wissen ( zwecks Fortschrittsbalken ) wie groß die Datei ist, die ich herunterlade.

Momentan mache ich das so:
Delphi-Quellcode:
    http_handle := InternetOpenUrl(h_cachedInternet,PChar(url),nil,0,INTERNET_FLAG_NO_UI,0);
    if http_handle <> nil then begin
        InternetQueryDataAvailable(h_cachedInternet,bytes,0,0);
    end;

Hat sich erledigt. Falsches Handle mitgegeben.

Sven

MathiasSimmack 5. Apr 2006 08:12

Re: TWebBrowser Sourcecode auslesen
 
Zitat:

Zitat von Sven Janssen
Was ist dann mit den Computern auf dem das Programm läuft. Benötigen diese auch die DLL?

Ja. Du kannst zwar davon ausgehen, dass die meisten Rechner nun mittlerweile MS-XML 4 installiert haben. Aber besser wäre es, du [dp="DoesXmlExist"]prüfst[/dp] es. Ausliefern darfst du die DLL mit deinem Programm nicht. Wenn, dann nur das Installerpaket, oder du bietest einen Direktlink zu Microsoft an.

marabu 5. Apr 2006 08:54

Re: TWebBrowser Sourcecode auslesen
 
Ich hatte MSXML4 geschrieben, weil ich diese Version im Produktiveinsatz habe. Wahrscheinlich ist jede Version ausreichend - und eine ist auf jedem Wintel-Rechner seit Win95.

marabu


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