Hallihallo liebe Delphigemeinde
ein kleines (aber nerviges) Problem mit PChar und Strings..
Ich habe eine Funktion in eine .dll ausgelagert, das einbinden und aufrufen und so weiter funkzioniert auch. Allerdings, da die Funktionen ja ohne die Borlandbiliotheken keine Strings als Parameter übergeben können, habe ich PChar's verwendet. Nun Übergebe ich der Funktion einen PChar in dem "2+3" steht. Das kommt auch an. In der Funktio habe ich dann eine Variable vom Typ Sring erstellt und mittels
String_var := Pchar_var;
Den PChar wieder in einen String verwandelt.
Nun habe ich testweise einfach den String wieder in einen PChar konvertiert via
Delphi-Quellcode:
result := PChar(String_var);
// Result ist natürlich vom Typ PChar..
und zurückgeben lassen.. Allerdings kommt jetzt im Mutterprogramm nur noch der String "2+" zurück, d.h. das letzte Zeichen ist verlorengegangen..
Gesamt besteht meine Funkion aus:
Delphi-Quellcode:
function aufreg(meinParameter: PChar): PChar;
var
meinString: String;
begin
meinString := meinParameter;
result := PChar(meinString);
end;
//Aufgerufen mit -> PChar('2+3')
//Raus kommt -> 2+
Wahrscheinlich ist das ein wirklich dämlicher Fehler.. aber er macht mich verrückt.. plz help!
MfG
BliZZarD
MSVC2008 (C/C++ with QT), Delphi
RAD 2010, Flash CS5 (FDT/Adobe), Java EE (Eclipse), PHP5
Antwortsprachen: Deutsch, Englisch, Französisch, Japanisch