Ú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!
- Garanciális Gamer Számitógép, PC (RX 580 8GB, I5-7500, 16GB RAM, SSD) Beszámitás! Posta ok! (32)
- XPG 1TB M2 NVMe PCIe SSD (SX8200PNP) / Beszámítás OK!
- iPhone 14 Pro 128GB gyári független új akku!
- ADATA Legend 710 512GB PCIe Gen3 X4 M2 NVMe / Beszámítás OK!
- Kioxia XG8 4TB M.2 NVME PCI-E 4.0 x4 - 7000-5800 MBs - Eladó
- Apple iPhone 13 mini / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku: 87%
- 194 - Lenovo Legion 5 (15IRX10) - Intel Core i9-14900HX, RTX 5070 (ELKELT)
- Lenovo ThinkPad L13 Gen 3 i5-1245U FHD+ 16GB 512GB 1 év teljeskörű garancia
- Akciós áron eladó HP Dragonfly G3 /I7-1265U/32 GB/512B SSD/13,5"/FHD+/400nit/Touch
- Óriás! Gamer PC-Számítógép! Csere-Beszámítás! R7 5700 / RTX 3080 / 16GB DDR4 / 512GB SSD!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

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

