Konvertierung von char nach const wchar_t nicht möglich



  • Hallo,

    ich möchte eine Funktion einbinden, benutze C++ Builder XE5 doch wie schon öffters bringt er mir die Fehlermeldung mit dem wchar_t Konvertierung.

    Könnte mir bitte hierbei jemand helfen und vielleicht auch erklären wo die Ursache im Unterschied zu den früheren Versionen vom C++ Builder liegt?

    blRetVal = GetVolumeInformation(
    	(slDrive.SubString(1,1)+ L":\\").c_str(),
    	szVolName, sizeof(szVolName), &dwVolumeSerial,
    	&dwMaxComSize, &dwFlags, szFS, sizeof(szFS));  //<-- hier bringt er mir noch den Konvertierungs Fehler
    

    Hab das Beispiel von hier:
    http://www.bytesandmore.de/rad/index.htm?http://www.bytesandmore.de/rad/cpp/snipp/sc03017.php

    Danke schön, wünsche noch was...



  • Vielleicht solltest du Dich erstmal damit beschäftigen was diese Fehlermeldung denn bedeutet.

    Dazu würde ich mir mal die ganzen Typen ansehen die Du da verwendest und die die WIN-API-Funktion haben möchte.

    TCHAR
    AnsiString
    LPTSTR
    LPCTSTR



  • Danke für den Tip, hab auf der Suche der Erklärung noch was gefunden das mein Ergebnis erfüllt...

    LPCTSTR lpRootPathName = _T("c:\\");
      TCHAR lpVolumeNameBuffer[MAX_PATH];
      DWORD dwMaximumComponentLength;
      DWORD dwFileSystemFlags;
      TCHAR lpFileSystemNameBuffer[MAX_PATH];
    
      BOOL bRet = GetVolumeInformation(lpRootPathName,
    		lpVolumeNameBuffer,
    		MAX_PATH,
    		&dwVolumeSerial,
    		&dwMaximumComponentLength,
    		&dwFileSystemFlags,
    		lpFileSystemNameBuffer,
    		MAX_PATH);
    	 VolumeSerial = dwVolumeSerial;
    

Anmelden zum Antworten