Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - inclusione headers visual c++
Forum - C# / VB.NET - inclusione headers visual c++

Avatar
xxmarco94 (Normal User)
Rookie


Messaggi: 28
Iscritto: 07/02/2010

Segnala al moderatore
Postato alle 17:31
Lunedì, 07/06/2010
cia a tutti, sto cercando di sviluppare un programma per i miei genitori, solo che ho il piccolo problema che non me lo compila e mi da : "fatal error c1014: too many include files dept : 1024".
Ho scoperto che questo errore c'è perchè io nell'header Form1.h ho incluso Nuovo.h.
In Nuovo.h ho incluso Form1.h poichè devo farli comunicare solo che, da quanto ho capito, comtinuano a richiamarsi all'infinito.
Vi posto l'inizio dei due header dove c'è l'errore

Form1.h:
              
Codice sorgente - presumibilmente C++

  1. #include "Nuovo.h"
  2.  
  3. #pragma once
  4.  
  5. namespace Magazzino {
  6.  
  7.     using namespace System;
  8.     using namespace System::ComponentModel;
  9.     using namespace System::Collections;
  10.     using namespace System::Windows::Forms;
  11.     using namespace System::Data;
  12.     using namespace System::Drawing;



Nuovo.h:
              
Codice sorgente - presumibilmente C++

  1. #include "Form1.h"
  2.  
  3. #pragma once
  4.  
  5. namespace Magazzino {
  6.  
  7.     using namespace System;
  8.     using namespace System::ComponentModel;
  9.     using namespace System::Collections;
  10.     using namespace System::Windows::Forms;
  11.     using namespace System::Data;
  12.     using namespace System::Drawing;



per tutti e due ho copiato solo l'inizio del codice perchè è quello che mi da problemi.

PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1787
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 21:18
Lunedì, 07/06/2010
è sbagliato l'approccio, a prescindere...

I file headers non dovrebbero includersi a vicenda, e anche se lo fanno, il #pragma once dovrebbe impedire il problema della ricorsione infinita.

Così, giusto per fare una prova, metti la riga con #pragma once esattamente all'inizio di entrambi i files (e non come seconda o terza riga, proprio come la prima in assoluto).
Così vediamo che succede :-)


Software Failure: Guru Meditation
Forum su Informatica, Elettronica, Robotica e Tecnologia: http://www.nonsoloamiga.com
PM Quote
Avatar
xxmarco94 (Normal User)
Rookie


Messaggi: 28
Iscritto: 07/02/2010

Segnala al moderatore
Postato alle 14:19
Martedì, 08/06/2010
purtoppo non funziona neanche così...cavolo non so dove sbattere la testa per far interagire i due form!!!

PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1787
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 14:28
Martedì, 08/06/2010
prova a creare un nuovo file chiamato common.h e mettici dentro tutto quello che è comune tra i due forms. Così invece di avere la situazione A -> B e B -> A, avrai la più snella situazione A -> Common e B -> Common


Software Failure: Guru Meditation
Forum su Informatica, Elettronica, Robotica e Tecnologia: http://www.nonsoloamiga.com
PM Quote