Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Abbiamo provato le nuove CPU Intel Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: più core e ottimizzazioni al funzionamento interno migliorano le prestazioni, anche in virtù di prezzi annunciati interessanti. A questo si aggiungono nuove ottimizzazioni software. Purtroppo, a fronte di prestazioni di calcolo elevate, il quadro rimane incerto nel gaming, dove l'andamento rimane altalenante. Infine, rimane il problema della piattaforma a fine vita.
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-03-2007, 10:51   #1
cerbert
Senior Member
 
L'Avatar di cerbert
 
Iscritto dal: Feb 2001
Città: Torino
Messaggi: 11769
[MFC] Enigma da SuperGuru

Buon giorno a tutti,

di recente mi sto occupando della transizione di una applicazione piuttosto massiccia da Visual Studio 6.0 a Visual Studio 2005.

Durante tale transizione, quando si tratta di compilare delle dll, ottengo il seguente warning:
Codice:
Warning	1	warning C4003: not enough actual parameters for macro '_IMPLEMENT_RUNTIMECLASS'		16
Andando a verificare scopro che il warning viene causato da delle macro custom da noi fatte per creare degli "_IMPLEMENT_RUNTIME_CUSTOM" in modo da poter serializzare nell'applicazione principale tipi di dati creati nelle dll.

Ecco un esempio di macro custom
Codice:
#define IMPLEMENT_SERIAL_EXP_CELLMODEL(class_name, base_class_name, wSchema) \
	CObject* PASCAL class_name::CreateObject() \
		{ return new class_name; } \
	_IMPLEMENT_RUNTIMECLASS(class_name, base_class_name, wSchema, \
		class_name::CreateObject) \
	AFX_CLASSINIT _init_##class_name(RUNTIME_CLASS(class_name)); \
	CELL_MODEL_IMPEXP CArchive& AFXAPI operator>>(CArchive& ar, class_name* &pOb) \
		{ pOb = (class_name*) ar.ReadObject(RUNTIME_CLASS(class_name)); \
			return ar; }
Il problema è che la definizione di _IMPLEMENT_RUNTIMECLASS (in AFX.H) sembra cambiata molto dalla precedente versione di MFC
Codice:
#define _IMPLEMENT_RUNTIMECLASS(class_name, base_class_name, wSchema, pfnNew) \
	CRuntimeClass* PASCAL class_name::_GetBaseClass() \
		{ return RUNTIME_CLASS(base_class_name); } \
	AFX_COMDAT AFX_DATADEF CRuntimeClass class_name::class##class_name = { \
		#class_name, sizeof(class class_name), wSchema, pfnNew, \
			&class_name::_GetBaseClass, NULL }; \
	CRuntimeClass* class_name::GetRuntimeClass() const \
		{ return RUNTIME_CLASS(class_name); } \
alla attuale
Codice:
#define _IMPLEMENT_RUNTIMECLASS(class_name, base_class_name, wSchema, pfnNew, class_init) \
	CRuntimeClass* PASCAL class_name::_GetBaseClass() \
		{ return RUNTIME_CLASS(base_class_name); } \
	AFX_COMDAT CRuntimeClass class_name::class##class_name = { \
		#class_name, sizeof(class class_name), wSchema, pfnNew, \
			&class_name::_GetBaseClass, NULL, class_init }; \
	CRuntimeClass* PASCAL class_name::GetThisClass() \
		{ return _RUNTIME_CLASS(class_name); } \
	CRuntimeClass* class_name::GetRuntimeClass() const \
		{ return _RUNTIME_CLASS(class_name); } \
c'è, infatti, quell'ultimo parametro in più "class_init" che ignoro completamente cosa faccia e che tipo di argomento accetti... o, meglio, suppongo che accetti un parametro di tipo AFX_CLASSINIT, ma non so a quale valore debba essere inizializzato tale parametro.

Ovviamente, se la precedente forma di _IMPLEMENT_RUNTIMECLASS era a malapena documentata in qualche FAQ ed in qualche paginetta di codeguru, la attuale è ASSOLUTAMENTE ignota ai più.

Se qualcuno, certamente più preparato di me, riesce a darmi qualche dritta, avrà tutta la mia gratitudine.
__________________
Eroi da non dimenticare: Nicola Calipari (04/03/2005) e Vittorio Arrigoni (14/04/2011) e Bradley Manning.
Sono certo che anche i francesi si indignarono per il fatto che i tedeschi, piuttosto che veder dissolvere la loro nazione, preferirono il nazismo. Chi non impara la storia...
cerbert è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2007, 11:19   #2
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Non so se ti può servire...
cmq prova a vedere qui:
https://forums.microsoft.com/MSDN/Sh...36445&SiteID=1
c'è un altro con un problema nella migrazione da VS6 a VS8, solo che il suo probema è diverso, ma magari la parte che interessa a te l'ha fatta giusta..
Io non ci capisco assolutamente nulla di quello che c'è scritto e sono al lavoro e non ho tempo per capirci qualcosa
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2007, 11:55   #3
cerbert
Senior Member
 
L'Avatar di cerbert
 
Iscritto dal: Feb 2001
Città: Torino
Messaggi: 11769
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
Non so se ti può servire...
cmq prova a vedere qui:
https://forums.microsoft.com/MSDN/Sh...36445&SiteID=1
c'è un altro con un problema nella migrazione da VS6 a VS8, solo che il suo probema è diverso, ma magari la parte che interessa a te l'ha fatta giusta..
Io non ci capisco assolutamente nulla di quello che c'è scritto e sono al lavoro e non ho tempo per capirci qualcosa
Grazie comunque, il problema sembra analogo ma attualmente io non ho i suoi enormi problemi.
__________________
Eroi da non dimenticare: Nicola Calipari (04/03/2005) e Vittorio Arrigoni (14/04/2011) e Bradley Manning.
Sono certo che anche i francesi si indignarono per il fatto che i tedeschi, piuttosto che veder dissolvere la loro nazione, preferirono il nazismo. Chi non impara la storia...
cerbert è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2007, 15:31   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
quella macro non andava usata proprio perché non è documentata; io non ti posso aiutare perché non l'ho mai usata, guarda un po'
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 29-03-2007, 15:42   #5
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
comunque sia vai a vedere la definizione della struct CRuntimeClass, che dovrebbe stare sempre in AFX.H: il parametro class_init viene usato per inizializzare l'ultimo campo della struct. come si chiama quel campo?
71104 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
La NASA dimostrerà l'utilizzo del...
L'ESA acquisterà una missione Cre...
La NASA cambia idea sulle stazioni spazi...
Implementazione NVMe nativa disattivata ...
Polestar 2 e 3: le batterie integrano or...
Crisi delle memorie: ecco le soluzioni p...
Il satellite ESA Proba-3 è tornat...
'Chiudete (quasi) tutto', il risultato d...
Tesla, maggiore autonomia grazie a una r...
Nasce TrendAI, la divisione di Trend Mic...
Recensione Motorola Signature: il primo ...
TeraFab, Elon Musk parte all'assalto di ...
L'ambiziosa base lunare permanente sulla...
Litografia BEUV (Beyond-EUV): la startup...
SAP e l'IA agentica: dall'hype alla matu...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:43.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v