CComBSTR testid(searchID.length()+1,(const char*)searchID);
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.
Delphi-Quellcode:
var
testid:WideString;
searchID:String;
begin
testid := searchID;
.
.
.
Keine Ahnung ... dazu müßte man den Code drumherum sehen. Es kann von Constructor über Macro bis Funktion alles sein.
Code:
{lpUnk: IUnknown;}
if (SUCCEEDED(lpAllElements.get__newEnum(&lpUnk))&& lpUnk ! = nil)
SUCCEEDED ist ein Macro, das IMO auf
Ergebnis = S_OK
checkt.
Versuch hier mal:
Delphi-Quellcode:
var
varElement: OleVariant;
lpElement: IHTMLElement;
varElement.pdispVal.QueryInterface(IID_IHTMLElement, Pointer(lpElement));
Keine Garantie, daß irgendwas davon hilft. Ich habe leider nicht genug Zeit um ausführlicher zu helfen.