Hirdetés
Új hozzászólás Aktív témák
-
Alu
senior tag
Sziasztok!
Készítettem egy Windows Forms App -ot, amivel egy ubuntu alapokon lévő "házi szerver pc" -t szeretnék néhány egyszerű funkcióval vezérelni/státuszt lekérdezni. Ezek a következők lennének:
- Szerver pc pingelése
- Wake on lan küldése a szerver pc -nek (mac alapján)
- Ssh -n keresztül bejelentkezés, illetve parancs küldés és fogadás (egyenlőre rsync és shutdown parancsok lennének)Addig eljutottam, hogy létrehoztam egy Win Form App -ot, elkészítettem a felhasználói felületet és megírtam az összes függvényt, ami a fenti funkciókhoz szükségesek. A funkciókat az UI -on lévő gombokkal lehet elindítani és a függvények logolják egy multiline text boxba, hogy milyen szekvenciák futottak le, vagy éppen milyen válasz jött vissza ssh -n. A program egész jól működik azzal a szépséghibával, hogy amíg a háttérben futnak a függvények, addig az UI teljesen megfagy. Ez nem is lenne akkora probléma, de van, hogy az rsync parancs hosszú percekig, akár egy óráig fut, mire megjön a report, hogy mit sikerült szinkronizálnia. Ennek orvoslására ki szeretném rendezni a függvényeket külön szálba, hogy legalább az asztalra le lehessen tenni az UI -t és ne "Nem válaszol" státuszba kerüljön, amikor véletlenül rákattintok. A kiszervezésnél addig jutottam, hogy létrehozom a párhuzamos szálat, de amint abból a szálból szeretnék egy a fő formon lévő komponensre (pl. label, button, stb.) hivatkozni vagy annak értéket beállítani, egyből "Szálak közötti művelet érvénytelen" hibát kapok. Ezt egy logolást végző függvénynél már sikerült feloldanom Invoke használatával, de egy buttonEnable beállításnál újra előjött.
A kérdésem az lenne, hogy ezt az Invoke -os megoldást minden egyes komponensnél el kell játszani vagy van erre valami egyszerűbb út, amire még nem sikerült rátalálnom?
Eddig jellemzően mikrokontrollereket programoztam C -ben, a Win Forms, C# és oop teljesen újak számomra, de nagy a motiváció.Minden segítséget előre is köszönök!
Ú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!
- Elektromos cigaretta 🔞
- Mibe tegyem a megtakarításaimat?
- Jövedelem
- Melyik tápegységet vegyem?
- Hisense LCD és LED TV-k
- LED világítás a lakásban
- AMD Navi Radeon™ RX 9xxx sorozat
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- 5.1, 7.1 és gamer fejhallgatók
- Hamarosan robottelefon figyelheti minden mozdulatod
- További aktív témák...
- AKCIÓ!!! DDR5 GAMER PC: Intel Core Ultra 7 265KF +RX 9070/9070 XT +16-64GB DDR5! GAR/SZÁMLA!
- AKCIÓ! GAMER PC: i5-14400F (10mag/16szál) +RTX 5050/5060/5060Ti/5070/5080 +16-64GB DDR4! GAR/SZÁMLA!
- iPhone 13 Pro 126GB Gold Független 86% gyári Akku iOS 17.3.
- Dell OptiPlex 7050 Micro i5-7500 / 8GB RAM / 256GB M.2 SSD
- Kompakt Gamer PC - i5-4750 + R9 380 4GB + 8 GB RAM
- Új és régi konzolok Okosítása/Softmodoloása, és Szoftveres szintű javítása - RÉSZLETEK A LEÍRÁSBAN
- Független & karcmentes Xiaomi Redmi Note 10 Pro 6GB RAM / 128GB / Onyx Grey
- Apple iPhone 13 mini Red Kompakt méret, nagy teljesítmény 256 GB Használt,szép állapot, 100%
- Telenor 5G Indoor WiFi Router (FA7550) + töltő
- Bomba ár! Dell Latitude 5510 - i5-10G I 16GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gari!
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest