Newsgroup: it.comp.programmare.win32
Titolo: Borland C++ Builer: Allergico alle API?

Salve a tutti. Sto studiando le API di Winzozz da diversi tutorial scaricati
in rete. Il mio ambiente di sviluppo attualmente e' il C++ Builder con il
quale mi ci trovo abbastanza a mio agio, tuttavia, nella creazione di una
dialog il compilatore mi genera alcuni errori. Gli errori riportati dal
Builder
sono i seguenti che, da quel che ho capito, indicano che il compilatore si
aspettava un tipo diverso di dati rispetto a quelli indicati da me:
--------------------------------------------------
  [C++ Error] Mainunit.cpp(133): E2034 Cannot convert 'int (__stdcall
*)(void *,unsigned int,unsigned int,long)' to 'int (__stdcall *)()'
  [C++ Error] Mainunit.cpp(133): E2342 Type mismatch in parameter
'lpDialogFunc' (wanted 'int (__stdcall *)()', got 'int (__stdcall *)(void
*,unsigned int,unsigned int,long)')
  [C++ Error] Mainunit.cpp(146): E2303 Type name expected
--------------------------------------------------
Secondo me la cosa e' un po' assurda in quanto leggo (sempre dai vari
tutorial) che il prototipo adatto ad una Dialog Procedure e' il seguente:
BOOL CALLBACK nomeproc (HWND, UINT, WPARAM, LPARAM);
cosa che del resto ho adottato. Ecco il prototipo da me creato:
BOOL CALLBACK DlgProc (HWND hWnd, UINT Message, WPARAM wParam, LPARAM
lParam);
dubito fortemente che sia allergico ai nomi degli argomenti. Ma allora cosa
puo' essere? Devo installare l'SDK della Microsoft o devo per forza lavorare
con il Visual C++ che mi sta un tantino sul [CENSURA]? Il codice che genera
tale errore e' il seguente:
//all'interno di una window procedure
case ID_HELP_INFO:
    DialogBox(ghInstance, "ABOUTDLG" /* provato anche
                           senza " " e usando #define ABOUTDLG*/,
                     hwnd, DlgProc);
    break;
Ho provato anche con CreateDialog() ma restituisce sempre gli stessi errori.
L'errore del "E2303 Type name expected" che indica che il compilatore si
aspettava un tipo diverso da quello da me specificato e' riferito al
prototipo.
Spero di essere stato abbastanza chiaro altrimenti riscrivo il post. Please
Help! Grazie in anticipo.
HellHound - uccidi CERBERO per l'email

 HellHound - uccidi CERBERO per l'email
si, e tanto che ci sono magari uccido pure bill gates, vero? :-D
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Ho provato anche con CreateDialog() ma restituisce sempre gli stessi
errori.
prova ::DialogBox ....
come diceva Al forse ci sono delle funzioni nel builder..
ciao :))
------------------------
http://visualwx.altervista.org/
nuova release 0.75 [freeware]

 ciao :))
google mi ha regalato questo:
http://groups.google.it/groups?q=builder+DialogBox&hl=it&lr=&ie=UTF-8&oe=UTF
-8&scoring=d&selm=3e81f425%241%
40newsgroups.borland.com
&rnum=6
sembra basti un cast ma leggi tu :))
ciao
--
------------------------
http://visualwx.altervista.org/
nuova release 0.75 [freeware]
VisualWx rad per c++,python,perl,lua e wxwindows

 dati rispetto a quelli indicati da me:
[...]
quando scrivi programmi per Windows in C++, definisci sempre STRICT, ed 
eviterai tutti i problemi legati al type checking, come questo
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.2. C, C++ and ASM developers
                               and beta testers are welcome!