![]() |
Re: C++ --> Delphi übersetzen
Zitat:
Zitat:
Zitat:
Zitat:
Code:
Es ist nur der Typecast von "frame" nach "Pointer auf IDispatch" um dann direkt die Methode von IDispatch QueryInterface() aufzurufen und das IHTMLWindow2-Interface in "elem" zu bekommen.
(IDispatch*)(frame).QueryInterface(IID_IHTMLWindow2, (void**)(&elem));
Code:
wäre in Delphi wohl ungefähr:
(void**)(&elem)
Delphi-Quellcode:
var elem:Pointer
|
Re: C++ --> Delphi übersetzen
Habe leider immer noch nicht begriffen, wie das zu uebersetzen ist:
Delphi-Quellcode:
habe mal einen Anfang gemacht:
CComBSTR testid(searchID.length()+1,(const char*)searchID);
... := Length(searchID) + 1, (const char * )searchID); Weiter unklar ist das:
Code:
testtag(5, ’SPAN’);
Code:
{lpUnk: IUnknown;}
if (SUCCEEDED(lpAllElements.get__newEnum(&lpUnk))&& lpUnk ! = nil)
Code:
soweit habe ich:
varElement.pdispVal->QueryInterface(IID_IHTMLElement,(void**)&lpElement);
var varElement: OleVariant; lpElement: IHTMLElement; varElement.pdispVal.QueryInterface(IID_IHTMLElemen t, lpElement); jedoch erhalte ich folgende Fehlermeldung: [Error] ... Type not allowed in Variant Dispatch call
Code:
Problem:
lpElement->put_outerHTML(innerText);
{var lpElement: IHTMLElement;} put_outerHTML erkennt Delphi nicht! |
Re: C++ --> Delphi übersetzen
Delphi-Quellcode:
Ich hatte weiter oben schon gesagt, daß ein CConBSTR nichts weiter ist als ein Wrapperobjekt für OleStrings und damit WideStrings (eigtl. PWideChar). Da wir in Delphi kein Objekt dazu brauchen, sondern der WideString (obwohl kein Objekt/Klasse) reicht, sollte das so gehen.
CComBSTR testid(searchID.length()+1,(const char*)searchID);
Delphi-Quellcode:
var
testid:WideString; searchID:String; begin testid := searchID; . . .
Code:
Keine Ahnung ... dazu müßte man den Code drumherum sehen. Es kann von Constructor über Macro bis Funktion alles sein.
testtag(5, 'SPAN');
Code:
SUCCEEDED ist ein Macro, das IMO auf
{lpUnk: IUnknown;}
if (SUCCEEDED(lpAllElements.get__newEnum(&lpUnk))&& lpUnk ! = nil)
Delphi-Quellcode:
checkt.
Ergebnis = S_OK
Versuch hier mal:
Delphi-Quellcode:
Keine Garantie, daß irgendwas davon hilft. Ich habe leider nicht genug Zeit um ausführlicher zu helfen.
var
varElement: OleVariant; lpElement: IHTMLElement; varElement.pdispVal.QueryInterface(IID_IHTMLElement, Pointer(lpElement)); |
Re: C++ --> Delphi übersetzen
Zitat:
Code:
#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
Zitat:
|
Re: C++ --> Delphi übersetzen
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz