Ú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!
- HP EliteBook 630 G10 - 13,3'FHD IPS - i5-1335U - 16GB - 1TB - Win11 - 1 év garancia - MAGYAR
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- BESZÁMÍTÁS! ASUS B660M i5 12400F 32GB DDR4 500GB SSD RTX 5060Ti 16GB Lian LI LANCOOL 207 Inwin 650W
- Beszámítás! Asus VZ239HE-W White 75Hz FHD IPS 5ms monitor garanciával hibátlan működéssel
- Lenovo LEGION 5 PRO Ultra 9 275HX 32GB RAM 1TB SSD RTX 5070 Ti 8GB 16" QHD+ 3év Prémium GAR
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

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

