AnsiString in neuen Versionen gleich std::string?
-
Hi,
weiß von Euch einer, ob in den aktuellen Versionen RAD-Studio 2007 der in der VCL benutzte AnsiString identisch mit std::string ist?
Bei irgend einer alten BCB-Version wurden in der HPP-Datei alle AnsiStrings von importierten Komponenten als std::string angegeben. Heute steht dagegen AnsiString drin.Gruß Mümmel
-
Hallo,
Das ist nicht so, und das war auch nie so. AnsiString ist auch im BCB2007 genau so noch enthalten. Aus Kompatibilitätsgründen zu Delphi ist noch ein typedef auf String mit drin (das ist nicht std::string). Ich nutze den BCB seit der ersten Version. Glaub mir, das wäre mir aufgefallen.
-
Hi Braunstein,
das dachte ich ja eigentlich auch. Aber ich kann mich noch erinnern, daß bei einer alten Version (3 oder 4) bei den eigenen rübergenommenen Delphi-Komponenten als Übergabetyp std::string in den hpp-Dateien gestanden hat. Aber so richtig sauber haben die aus meiner Sicht damals nicht funktioniert. Heutezutage laufen alle meine Delphi-Komponenten problemlos auch unter BCB 2007.
Warum die damals für Delphi extra nen eigenen Typ AnsiString genommen haben und nicht den aus der stl wissen sie wahrscheinlich selber nicht. So hat man wenn man Pech hat in einem Programm zwei String-Klassen die alle beide (fast) dasselbe tun.Was ich auch dämlich finde, ist daß man Komponenten für Delphi und C++Builder und RAD-Delphi und RAD-C++Builder getrennt installieren muß, und daß die sich unter Umständen in die Quere kommen. Da hätte doch eine Abffrage beim Installieren gereicht. Ich hab das jetzt so gelöst, daß ich für Delphi und C++ getrennte Verzeichnisse mit dem gleichen Inhalt verwende und die "Sammelumgebung" nicht verwende.
Gruß Mümmel
-
Glaub mir, std::string war da noch nie drin.
AnsiString ist gerade wegen der VCL in den BCB reingekommen. Die ist ja in Pascal.
Irgendwann in den nächsten jahren soll es ja nur noch eine Version geben die Delphi und C++ enthält.
http://dn.codegear.com/article/36620