Compilererror (RAD Studio)

01/18/2011 17:03 BrendonHomo#1
Quote:
int value;
unsigned Adresse = 0x00797FE8;
unsigned Offset = 0x0000002C;
ReadProcessMemory(0,(void*)Adresse,&value,sizeof(v alue),0);
ReadProcessMemory(0,(void*)(value+Offset),&value,s izeof(value),0);

stringstream out;
out<<value;
string s = out.str();

String data ="xxx "+s;
char * Sending = data.t_str();
Compilerror:
Quote:
Keine Übereinstimmung für UncodeString::UnicodeString(const UnicodeString&) gefunden
Kann leider nicht wie bei VS 2010 einfach auf Multibyte stellen da ich mit Rad Studio arbeite und dieser Compiler sowas nicht besitzt.

Hat wer eine Lösung hab schon vieles versucht aber nun bin ich auch am ende.
01/18/2011 17:22 xNopex#2
Quote:
String data ="xxx "+s;
char * Sending = data.t_str();
Du scheinst eine spezielle string-Klasse deiner IDE zu verwenden. Was imho für deinen Code snippet völlig überflüssig ist. Das sollte es genauso tun:

Code:
string data = "xxx "+s;
const char* Sending = data.c_str();
01/18/2011 17:44 BrendonHomo#3
Danke für die schnell Antwort soweit alles gut,
aber nehme ich c_str statt t_str sendet er mein Packet nichtmehr.
Haste vll dafür eine Lösung?
Bzw wusste garnicht das es ein unterschied zwischen String und string gab :)
01/18/2011 19:05 xNopex#4
Die Klasse String ist VCL spezifisch. string ist c++ Standard. Um zu klären, warum das bei dir nicht gesendet wird, ist es wichtig, welche Funktion du aufrufst, und ob zur Laufzeit oder Compilezeit evtl. Fehlermeldungen auftreten.
01/18/2011 19:13 BrendonHomo#5
Ich ruf die Sendpacket funktion eines Spiels auf wo ich Sending in den Register edx schiebe, danach kommt der Call funktioniert wie gesagt mit t_str perfekt.
Nein bekomme keine Fehlermeldungen / Warnungen.

Habs gelöst:
hab einfach normal +(AnsiString)value dahinter gemacht.