Oppure

Loading
07/06/10 15:31
xxmarco94
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:


#include "Nuovo.h"

#pragma once

namespace Magazzino {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;


Nuovo.h:


#include "Form1.h"

#pragma once

namespace Magazzino {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;


per tutti e due ho copiato solo l'inizio del codice perchè è quello che mi da problemi.
aaa
07/06/10 19:18
TheKaneB
è 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 :-)
aaa
08/06/10 12:19
xxmarco94
purtoppo non funziona neanche così...cavolo non so dove sbattere la testa per far interagire i due form!!!
aaa
08/06/10 12:28
TheKaneB
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
aaa