Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Gurulunk, WAZE?!
- Parci: Milyen mosógépet vegyek?
- Elektromos rásegítésű kerékpárok
- Magga: PLEX: multimédia az egész lakásban
- gban: Ingyen kellene, de tegnapra
- Meggyi001: Amire figyelned kell Párizsban is...
- sziku69: Szólánc.
Új hozzászólás Aktív témák
-
NoMan
csendes tag
Kedves Fórumozók!
A következő problémával fordulnék hozzátok. Már 1 napja a google-t bújom, de igazi megoldást még nem találtam a következő problémára: Adott egy DLL fájl, benne egy formmal.
Ebből a DLL-ből kellene betölteni a Formot (erre már találtam több megoldást is), viszont van egy kis csavar a dologban (erre nem találtam megoldást). A példányosítás előtt ellenőrizni kéne, hogy futás közben változott-e a DLL és ha igen, akkor újra kéne tölteni a DLL-t és úgy példányosítani.
Ez azért lenne fontos, mert a főprogramból egy példány fut és az nem zárható be / nem indítható újra. Viszont a DLL-ben megvalósítottt formon időnként változtatnom kell. Melyet úgy szeretnék megoldani, hogy kicserélem a főprogram alatt a DLL fájlokat és amikor újra azt a Formot szeretné a főprogi betölteni, akkor már az új, megváltoztatott változat töltődik be.
Ezzel a módszerrel próbálkoztam:
Assembly assembly = Assembly.LoadFile(Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + "dashboardBasic.dll");
Type type = assembly.GetType("dashboardBasic.FormDashboardBasic");
Form form = (Form)Activator.CreateInstance(type);
form.MdiParent = this;
form.Show();Ez betöltötte a DLL-t és az alapján meg is jelenítette az űrlapot, de ha kicseréltem a DLL-t, akkor a régi űrlapot nyitotta meg, egészen addig, amíg a főprogit újra nem indítottam.
Egy másik megoldás, de ez szintén ugyan ezen ok miatt zsákutca volt:
AppDomain TestDomain = AppDomain.CreateDomain("dashboardBasic");
Assembly testDLL = TestDomain.Load(AssemblyName.GetAssemblyName(Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + "dashboardBasic.dll"));
Type type = testDLL.GetType("dashboardBasic.FormDashboardBasic");
Form form = (Form)Activator.CreateInstance(type);
form.MdiParent = this;
form.Show();
AppDomain.Unload(TestDomain);Valakinek valami jó ötlete a probléma megoldására?
Előre is köszönöm az építő jellegű hozzászólásokat.
Ú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!
- DVB-T, DVB-S (2), DVB-C eszközök
- The Division 2 (PC, XO, PS4)
- Apple MacBook
- Intel Dual Core 2000 felhasználók barátságos offolós topikja
- Nyaralás topik
- Elektromos autók - motorok
- Xiaomi 17 Ultra - jó az optikája
- Kerékpárosok, bringások ide!
- Beperelte a Motorola a fél közösségi médiát
- Rövid időre leállhat a 8 GB-os GeForce RTX 5060 Ti gyártása
- További aktív témák...
- ASUS Zenbook 14 OLED i5-1340p 16gb ram 512gb ssd 3k oled pillekönnyű akksibajnok Garancia
- Macbook Air 2026 13" M5/32GB/512GB Éjfekete
- WD Black SN850X 8TB M.2 NVME PCI-E 4.0 x4 - Új, 1 év garancia - 7200-6600 MBs - Eladó!
- 16GB DDR4 PC MEMORIA MODUL(4X4GB, 2X8GB) RAM / SZÁMLÁVAL, GARANCIÁVAL
- Szép Kis játékos HP,Core i7 10510u(8X4,9Ghz)MX 2/4GB DDR5 VGA,FullHD IPS,16-32GB RAM/256-512SSD
- BESZÁMÍTÁS! Asus Dual RTX 3070 Ti 8GB OC videókártya garanciával hibátlan működéssel
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7670 i7-12850HX 32GB RAM 1TB SSD Nvidia RTX A3000 12GB 1 év gar
- ASUS TUF RTX 4070 TI 12G GAMING GDDR6X k. jó kártya megbízható helyről!
- AKCIÓ! Sony PlayStation 5 825GB SSD lemezes konzol fejhallgatóval garanciával hibátlan működés
- szinteÚJ Lenovo ThinkPad L14 Gen5 i7 155U 32GB 1TB FHD+
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
