AnsiString -> WideString
-
Hallo Leute, will aus einem Edit-Feld die Adresse für CppWebBrowser lesen.
folgenden Code:
void __fastcall TForm1::TabbedNotebook1Enter(TObject *Sender) { AnsiString url = Edit2->Text; WideString urlwide = static_cast<WideString>(url); CppWebBrowser1->Navigate(urlwide, 0,0,0,0); }Dachte mir, es müsste funken, tut es aber leider nicht ...
Was mach ich falsch?
lg matthi
-
"Funktioniert nicht" ist keine ausreichende Problembeschreibung oder Fehlermeldung.
-
void __fastcall TForm1::TabbedNotebook1Enter(TObject *Sender) { AnsiString url = Edit2->Text; WideString urlwide(url.c_str()) ; CppWebBrowser1->Navigate(urlwide, 0,0,0,0); }
-
case:
Über denn "Sinn" dieses Vorschlages solltest du nochmal nachdenken.
Der Code von hagbard_ ist zwar (genauso) umständlich, prinzipiell aber funktionabel.
Deshalb ist eine genaue Problembeschreibung erforderlich.
-
Hallo,
also wenn ich auf die Registerkarte Vorschau gehe, habe ich in Edit2 "file:///C|\\adsf.html" stehen - und es zeigt mir an: Es konnte keine Verbindung hergestellt werden.
Wenn ich aber der Variable mit dem Datentyp WideString "file:///C|\\adsf.html" zuweise, funktioniert es.
lg matthi
-
Sorry, nicht: "Es konnte keine Verbinung hergestellt werden", sondern die Fehlermeldung ist "Aktion abgebrochen" ... Refresh ... "Seite konnte nicht gefunden werden".
lg matthi
-
Seit wann verwendet man in Eingabefeldern einen Doppel-Backslash bei Pfadangaben?
Der Doppelbackslash wird nur direkt im Quellcode benötigt.Und zum WideString-"Problem":
AnsiString str = "heise.de"; CppWebBrowser1->Navigate((WideString)str); // oder WideString wstr = str; CppWebBrowser1->Navigate(wstr);usw., sieh dir mal den Konstruktor von WideString an.
-
dann sollte das ja so aussehen:
AnsiString url = "\"" + Edit2->Text + " \""; CppWebBrowser1->Navigate((WideString)url);hmm, immer noch gleiche Fehlermeldung.
Habe es auch ohne Anführungszeichen probiert, aber gleiche Meldung, ich kapiers nicht.lg matthi
-
hagbard_ schrieb:
AnsiString url = "\"" + Edit2->Text + " \""; CppWebBrowser1->Navigate((WideString)url);Mach das so:
CppWebBrowser1->Navigate(WideString(Edit2->Text));Ich denke mal, das muß auch mit Ordner-Namen gehen, wo ein Leerzeichen ist.
Da dieser TCppWebB.... die IE Engine nutzt (soviel ich weiß), bräuchtest du das net.
-
hagbard_ schrieb:
AnsiString url = "\"" + Edit2->Text + " \"";hmm, immer noch gleiche Fehlermeldung.
Was genau steht denn im Edit?
-
Im Edit-Feld steht:
file:///C|\\asdfwaer.html
lg matthi
-
hagbard_ schrieb:
file:///C|\\asdfwaer.html
Hi,
gib doch mal nur file:///C|\asdfwaer.html ein....MfG
Alexander Sulfrian
-
funktioniert leider ebensowenig

wäre schön, wenns jemand ausprobieren könnte ..
lg matthi
-
Ich dachte, das mit den Backslashes war geklärt!?

// "Screenshot" vom Edit-Feld: file://c:\test.htm WideString url = Edit1->Text; CppWebBrowser1->Navigate(url);Funktioniert einwandfrei.
-
² jansen: thx, so funktioniert es!
lg matthi