- PCI bővítőhelyet elfoglaló Icy Dock mobilrack M.2-es SSD-knek
- Elon Musk járatára váltott jegyet a legújabb magyar műhold
- Viszonylag olcsó, 26,5 hüvelykes QD-OLED monitor bukkant fel az MSI kínálatában
- Jönnek az egyes, problémákkal küzdő ASUS ROG noteszgépek kipofozott BIOS-ai
- GeForce RTX 5060: Ezt kapjuk 150 ezerért
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Amlogic S905, S912 processzoros készülékek
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Hogy is néznek ki a gépeink?
- Fujifilm X
- GeForce RTX 5060: Ezt kapjuk 150 ezerért
- Akciókamerák
- Milyen notebookot vegyek?
- Jönnek az egyes, problémákkal küzdő ASUS ROG noteszgépek kipofozott BIOS-ai
- Hobby elektronika
Ú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!
- sziku69: Szólánc.
- Milyen okostelefont vegyek?
- Apple iPhone 17 Pro Max – fennsík
- Azonnali mobilos kérdések órája
- ASUS routerek
- Samsung Galaxy A55 - új év, régi stratégia
- iPhone topik
- Windows 11
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Amlogic S905, S912 processzoros készülékek
- További aktív témák...
- iKing.Hu - Apple iPhone 13 mini Kompakt erőgép, megbízható teljesítmény 256 GB
- Honor Magic V5 Ultravékony hajlítható, 120 Hz LTPO kijelzők 16/512 GB Garancia 2028. 08. 25-ig
- Bomba ár! Acer Aspire ES1 - AMD A8 I 8GB I 180GB SSD I 15,6" HD I HDMI I Cam I W10 I Garancia!
- Acer Predator Helios 300 - PH315-51
- Bomba Ár! Fujitsu LifeBook S762 - i5-3GEN I 8GB I 320GB I DVDRW I 13,3" HD I DP I W10 I Garancia!
- Delta ADP-65VH D 65W töltő eladó
- Eladó szép állapotban levő Apple iPhone SE2020 64GB / 12 hó jótállás
- Új és újszerű 17.3" Gamer, irodai, üzleti készülékek nagyon kedvező alkalmi áron Garanciával!
- GYÖNYÖRŰ iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3403
- Xiaomi Redmi Note 13 Pro 256GB Kártyafüggetlen 1 év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest