[gelöst] CreateFile in statischer Lib



  • Hallo,

    ich habe mir kürzlich eine Klasse gebaut welche es mir erlaubt über eine serielle Schnittstelle zu kommunizieren. Diese Klasse habe ich MS VS2005 eins zu eins in ein Projekt kopiert aus welchem eine statische Bibliothek entstehen soll. Nun bekomme ich bein kompilieren einige Warnings sowie einen Fehler, den ich zuvor nicht hatte.

    hComm = CreateFile( comPort, GENERIC_READ | GENERIC_WRITE, 
                        0, 
                        0, 
                        OPEN_EXISTING,
                        0,   
                        0);  // <<<<===== FEHLER
    

    error C2664: 'CreateFileW': Konvertierung des Parameters 1 von 'char *' in LPCWSTR' nicht möglich

    Warum habe ich auf einmal diesen Fehler? Wie gesagt in der einfachen Konsolenanwendung gab es weder Warnings noch Fehler. Und wie bekomme ich ihn in den Griff? Weiß einer Rat?

    Danke und Gruß,
    Mario

    edit: Problem war, dass in der Lib UNICODE als Zeichensatz eingestellt war.



  • Zeig mal wie "comPort" definiert ist... vermutlich als "char*"...
    Du solltest aber immer "TCHAR*" verwenden!!!



  • Okay hat sich erledigt. Es lag nicht am letzten sondern am ersten Parameter. Ein einfacher Cast hat gelangt.

    Bleibt immer noch die Frage, warum habe ich min 5 Warnings die ich nicht habe, wenn ich das Projekt als Konsolenanwendung baue?



  • NEIN! Dann tut Dein programm halt nicht...

    Casten sollte man *nie* wenn man nicht 100%ig weiss was man tut!



  • Hab es jetzt mit TCHAR probiert. Daran hat's gelegen. Die Warnings kommen daher, dass ich bool anstatt BOOL verwendet habe. Wo liegt der Unterschied?


Log in to reply