Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    6

    error C2664: cannot convert par.11 from void * to struct HINSTANCE__ *

    Buongiorno a tutti e un grazie a chi mi saprà aiutare.
    Uso la seguente funzione per aprire la finestra principale del mio main:

    CreateWindowEx(0, "PROVA", fullId, WS_CAPTION|WS_SYSMENU, 0, 0, hRes, vRes, NULL, NULL, hInstance, NULL )

    Ma al momento della compilazione ottengo il seguente errore:

    error C2664: 'CreateWindowExA' : cannot convert parameter 11 from 'void *' to 'struct HINSTANCE__ *' seguito dall'avvertimento Conversion from 'void*' to pointer to non-'void' requires an explicit cast...

    Premettendo che:

    - Ho capito che, al contrario del C (ambiente dal qual preovengo ma essendo passato dal Java), il C++ non CASTIZZA in automatico il VOID *
    - Il CAST esplicito di NULL a 'struct HINSTANCE__ *' o 'HINSTANCE__ *' non produce risultati
    - Ho sostituito a NULL lo 0 ed un tipo CREATESTRUCT (&cs) ma non c'è stato verso
    - Ho provato a compilare mettendo STRICT nei settings di C/C++ (stò usando il MICROSOFT VISUAL C++): niente da fare
    - Ho provato a linkare la <windef.h> come ho visto consigliare su web ma anche qui senza risolvere niente

    Stò cominciando ad essere a corto di idee ... Qualcuno mi sa dare una mano? La cosa strana è che passando da CreateWindow() a CreateWindowEx() (a proposito che differenza c'è? ) per un po' mi era andata bene!!! Ma ora sono incastrato da giorni su 'stà cosa e non riesco a sbloccarmi ... Grazie a tutti per l'aiuto ...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Con quale compilatore stai lavorando? Ne ho provato alcuni e non ho avuto problemi ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    6
    Originariamente inviato da oregon
    Con quale compilatore stai lavorando? Ne ho provato alcuni e non ho avuto problemi ...
    Quello di default de Visual C++ 6.0 di MICROSOFT... Ho pensato anche ad un problema di SDK ho quelle del 98 (e non so se le vede tra l'altro perchè le ho installate dopo)... Però è strano mi sembra un problema di una nbanalità sconfortante Eppure sono bloccato da giorni e su web dicono: SEMPLICE FAI IL CAST!!!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non riesco a replicare il tuo errore ... la compilazione di quella linea avviene normalmente anche con VC6 ...

    Sei sicuro che l'errore si riferisce a quella linea?

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    6
    Assolutamente si... E tra l'altro ho due modalità di apertura window tutte due con CreateWindowEx() e tutte due con lo stesso errore...

    Ti posto i settings del compilatore:
    - MFC: Use MFC in a shared DLL (una DLL che ancora non uso e scritta in VB da una collega)
    - Warning level: Level 1*
    - Preprocessor definitions: WIN32,NDEBUG,_WINDOWS,_MBCS,_AFXDLL,ADACO
    - Project options:
    /nologo /MD /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_AFXDLL" /D "ADACO" /Fo"Release/" /TP /c
    - Precompiled Headers: Not used

    Che dici?...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prova con

    codice:
    CreateWindowEx(0, "PROVA", fullId, WS_CAPTION|WS_SYSMENU, 0, 0, hRes, vRes, NULL, NULL, (HINSTANCE)hInstance, NULL )

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    6
    Grazie OREGON davvero era proprio questo ...
    Ma la risposta l'ho trovata prima su GOOGLE GRUPPI cercando con "createwindow Conversion from 'void*' to pointer to non-'void'" a questo indirizzo: http://groups.google.it/group/comp.o...483ac00d82cc70

    Non avevo visto la tua risposta perchè non ero stato avvisato del tuo ultimo post... In ogni caso grazie davvero... Quello che fa incazzare è aver perso giorni per poi scoprire che in realtà non era il parametro 11 a non andare ma bensì il 10 (e penso che sia sbagliato anche il messaggio: non è cero un CAST a HINSTANCE__ * quello che vuole)

    Tu che cosa ne pensi?

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    6
    Ora però, al momento della chiamata a CreateWindowsEx() schianta con una bella eccezione... Zero feedback

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh ... mostra tutto il codice che sta attorno alla chiamata ...

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    6
    No dai, 'sto giro è colpa mia... C'era un problema nella wndproc di gestione dei messaggi.
    Grazie ancora per la disponibilità ;o)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.