Hirdetés
Új hozzászólás Aktív témák
-
Hunpriest
senior tag
-
Zalanius
tag
válasz
daninet
#8204
üzenetére
Azon túl, hogy megszívlelendő, amit #8205 Jok3r! már leírt nagy vonalakban, a kódban levő minden mostani fordítási hiba (tehát az egyéb elnevezésektől és felesleges részektől tekintsünk most el!) lényegében egyetlen rossz értelmezésből ered. Rendben volna a két új form, amit adatbevitel céljából létrehoztál, de a ShowDialog() hívásokból is látszik, hogy ezeknél olyasmi a szándék, hogy az ablak megjelenik, az inputoknak értéket adunk, aztán eltűnik -> és itt a szerepe véget ért. Ha utána kell a beírt adat tartósan, akkor nem a formokat kell List<>-be gyűjteni, hanem a Jarmu és Allat osztályok példányait.
Tehát röviden: ahol List<> deklarációid vannak, oda nem az UjJarmu és UjAllat, hanem a Jarmuvek és Allatok írandó. Több helyen is:
List<Allatok> aLista = new List<Allatok>();
List<Jarmuvek> jLista = new List<Jarmuvek>();Egyből sikeres a build, ha ezeket a módosításokat megléped. Nem mondom, hogy minden összevág, de először ezt kell tisztába tenni, hogy a formok között legyen adatcsere.
-
j0k3r!
őstag
válasz
daninet
#8204
üzenetére
Csak a képet néztem meg, de millió helyen bele lehetne kötni, viszont ahelyett, hogy felsorolnám a hibákat, ahelyett inkább azt tanácsolom, hogy amíg egy ilyen hibaüzenettel nem tudsz egyedül megbírkózni, addig hagyd a Windows Forms-ot és inkább kezd el az objektum orientált programozás alapjait nézegetni szigorúan konzol alkalmazásokon keresztül. Úgy látom az OOP alapokkal még nem vagy tisztában, szóval a Windows Forms egyelőre teljesen fölösleges komplexitást ad most neked. Tényleg nem kötekedésből mondom, hanem tapasztalatból, hogy a stabil alapok nagyon fontosak

-
válasz
daninet
#8200
üzenetére
Tudom, a hiba azért jön létre, mert a felugró ablaknak nem adod át a könyvek listájának referenciáját, így az inicializálatlan marad.
Így helyes:
private void újKönyvToolStripMenuItem_Click(object sender, EventArgs e)
{
UjKonyv uj = new UjKonyv(kLista);
uj.ShowDialog();
listaÍr();
}private void újIdegenKönyvToolStripMenuItem_Click(object sender, EventArgs e)
{
UjIdegenKonyv uik = new UjIdegenKonyv(kLista);
uik.ShowDialog();
listaÍr();
}A default-kontruktorokat ki is kellene törölnöd, hogy ne zavarjanak...
-
válasz
daninet
#8198
üzenetére
Látatlanban nincs átadva egyik form referenciája a másiknak, ezért dob hibát.Nincs VS a gépemen, melyik sorban dobja a hibát?Látom már:
private void újKönyvToolStripMenuItem_Click(object sender, EventArgs e)
{
UjKonyv uj = new UjKonyv();
uj.ShowDialog();
listaÍr();
}private void újIdegenKönyvToolStripMenuItem_Click(object sender, EventArgs e)
{
UjIdegenKonyv uik = new UjIdegenKonyv();
uik.ShowDialog();
listaÍr();
}Az aláhúzott részekben nem a default kontruktort kellene használni, hanem aminek átadod a könyvlistát.
BTW a magyar nyelvű függvény és változónevektől megfájdult a fejem...
BTW2 miért nem működik a kód stílusban a formázás???
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Steelseries Arctis Nova pro vezeték nélküli gamer fejhallgató
- BESZÁMÍTÁS! GIGABYTE X570 AORUS ELITE X570 alaplap garanciával hibátlan működéssel
- Apple iPhone 13 Pro Max Graphite ProMotion 120 Hz, Pro kamerák 128 GB-100%-3hó gari!
- 2 X Dell Poweredge T320, 96GB DDR3 ECC RAM, 2.2 GHz CPU, 2 x 495W PSU
- BESZÁMÍTÁS! SAPPHIRE B650M R7 8700F 32GB DDR5 512GB SSD RX 6800XT 16GB Zalman Z1 GIGABYTE 750W
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

BGF-en még mindig az a példa?



