Fragen zu Visual Studio 2005
-
Ein paar Fragen:
Hab eine Anwendung erstellt, doch wenn ich die in einem anderem windows starte beko mme ich eine fehlermeldung -> eine neuinstallation würde das problem eheben...
Was soll ich machen, daas die anwendung auf einem anderen windows funktioniert.Hab eine code welcher unter VC++6 ohne probleme lief:
string ComputerName() { DWORD nSize; char computer_name[255]; nSize = sizeof( computer_name ); GetComputerName( computer_name, &nSize ); //hier liegt der fehler return computer_name; }Fehler:
error C2664: 'GetComputerNameW' : cannot convert parameter 1 from 'char [255]' to 'LPWSTR'
-
-
Libs statisch linken oder mitliefern (weiß nicht ob es an dem leigt, aber denke schon)
-
Es steht alles nun per default auf Unicode, kannst du in den Optionen ausschalten (oder dein Projekt auf Unicode umstellen)
-
-
VS2005 hat, per default, den Schalter UNICODE gesetzt und VC6 nicht.
Verwende statt char TCHAR dann sollte es funktionieren.
-
Danke für die schnelle antwort, auf der rechten seite wo die solution bar ist mit rechts klick auf projekt, da kann man alle nötigen einstellungen vornehmen. MFC auf Static Library setzen, dann wird jedoch die exe größer. Im vergleich zu VC++6 war die gleiche exe um einiges kleiner, woran liegt das, kann man vielleicht diese exe verkleinern?
Zu 2)
wenn ich char in TCHAR ändere gibts trotzdem konvertierungsprobleme
Kann man das nicht so machen:string ComputerName() { DWORD nSize; LPWSTR computer_name; nSize = sizeof( computer_name ); GetComputerName( computer_name, &nSize ); //Hier die konvertierung von LPWSTR in string return computer_name; }kennt jemand die konvertierung von LPWSTR in string??
-
std::wstring getNetBiosName() { wchar_t buffer[MAX_COMPUTERNAME_LENGTH + 1]; if(!GetComputerName(buffer, sizeof(buffer))) throw "we all gonna die soon..."; return buffer; }Gruß
-
kernel64 schrieb:
wenn ich char in TCHAR ändere gibts trotzdem konvertierungsprobleme

Hast Du den Header <tchar.h> eingefügt? Hast Du eventuelle String-Literale korrekt angegeben?
-
Konrad Rudolph schrieb:
kernel64 schrieb:
wenn ich char in TCHAR ändere gibts trotzdem konvertierungsprobleme

Hast Du den Header <tchar.h> eingefügt? Hast Du eventuelle String-Literale korrekt angegeben?
Er versucht danach den TCHAR-String in ein std::string zu konvertieren, das kann nur schief gehen. Außerdem sind noch mehr Fehler im Code! (Kein Buffer allokiert, falsche Buffersize übergeben...)
-
Hab in den optionen Unicode ausgeschaltet und seit dem funktionieren alle meine codes. Wofür ist Unicode gut wenn man wie bei meinem beispiel fehler kriegt. Bei VC++6 gabs diese fehler nicht.
-
Eine andere Frage/Problem, hab den Ordner eines Projekts umbenannt und danach konnte ich es nicht mehr kompilieren, ein Dialog mit
No Debugging Information
ist aufgetaucht. Es wurden keine Debug Informationen gefunden.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC (Visual C++) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.