Hur gör jag i VS.NET - Windows Forms Application för att koppla samman flera formulär? Från Formulär1 öppnar jag Formulär2, men sedan vill jag klicka på en knapp i Formulär2 som t ex tömmer en textruta i Formulär1. Försök att inkluder så lite filer som möjligt i .h filer så undviker man korsreferenser. Inkludera i .cpp filerna istället. Måste du ha information om andra klasser i h filen prova forward deklarera... Tack De kanske kan hjälpa om du använder incudeguards ? om du inte redan har det i och för sig.. =) ...Flera formulär
Hur berättar jag alltså för Formulär2 vad Formulär1 är?
Det verkar vara något problem med inkluderingen av header-filerna, för när jag inkluderar Formulär2.h i Formulär1.h (eller i stdafx.h), så vet inte längre Formulär 2 vad Formulär1 är... och vice versa.Sv: Flera formulär
class ###classnamn;Sv:Flera formulär
Nu fungerar det att deklarera i klassen Form2:
Form1 * form1;
...och i klassen Form1:
Form2 * form2;
...utan kompileringsfel.
Men när jag försöker instansiera objektet:
form2 = new Form2;
...så får jag felet: "No appropriate default constructor available". Kompilatorn vet nu alltså att klassen finns, men inte hur den ser ut. Måste jag då forward-deklarera hur HELA klassen ser ut?Sv: Flera formulär
så har du ju inga problem med hur mycket du inkluderar.. ? !
och du slipper framåtdeklaration... om du inte vill ha de..
#ifndef INCLUDED_CLASSNAMN
#define INCLUDED_CLASSNAMN
class blabla
{
/*kod*/
};
#endif