- Gaming notebook topik
- Powerbank topik
- Kormányok / autós szimulátorok topicja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- Apple notebookok
- VR topik (Oculus Rift, stb.)
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Adatmentés - HDD - SSD - Flash
- Autós kamerák
Hirdetés
-
Duotts F26 - megoldjuk erőből
ma 1500 watt összeteljesítményű biciklit kaptunk tesztre, amely a legalitás összes határán túl van, kontrollálni nem könnyű, de néha óriási élmény is.
-
PlayStation konzolokra is megjelenik a Darkest Dungeon 2
gp A korábban PC exkluzív játék hamarosan végre játszható lesz konzolon is.
-
Ízlésesre sikerült a Galax alacsony profilú GeForce RTX VGA-ja
ph A hónap végén a felkelő nap országában debütáló, AD107 lapkára épülő modell talán az európai piacra is megérkezik.
Új hozzászólás Aktív témák
-
Gregorius
őstag
Csak éppen semmit sem fog érni, mert a háttérben párhuzamosan kizárólag annyi történik, hogy a feladatot beütemezi az egyetlen egy főszálra. Vagyis a ThreadPool.Queue teljesen fölösleges. Ha mindenképpen aszinkron hívás kell, akkor Invoke helyett a BeginInvoke használatos.
-
Gregorius
őstag
Ha már körbejárjuk a témát, kicsit még tovább is megyek. Ennél létezik egy általánosabb megoldás.
A Control.Invoke/BeginInvoke/stb. az WinForms környezetben használatos:
this.Invoke(new Action(...));
A háttérben pontosan ugyanezt csinálja a következő:
SynchronizationContext.Current.Send(
new SendOrPostCallback(...),
state);
továbbá betűről betűre ugyanez a kódsor működik WPF-fel, ASP.NET-tel és még COM+-os interoppal is, nem csak WinFormsszal.
Utóbbi esetben a BeginInvoke-nak megfelelő aszinkron hívás a Post.[ Szerkesztve ]
-
x007
tag
válasz Gregorius #1404 üzenetére
Oh, itt már volt új info Kicsit utána néztem.
SynchronizationContext.Current
WinForms esetén: WindowsFormsSynchronizationContext
A Send/Post metódus a Control.Invoke/BeginInvoke metódust hívja meg.
WPF esetén: DispatcherSynchronizationContext
A Send/Post metódus a Dispatcher.Invoke/BeginInvoke metódust hívja meg
Szóval ez egy általános wrapper a GUI rendszerek szinkronizációs megoldása fölött. És már látom is miért jó ez...
Van pl. a BackgroundWorker, ami az AsyncOperationManager osztályon alapul, ami a SynchronizationContext-et használja a szinkronizáció megvalósításához. Ezért a BackgroundWorker WinForms és WPF alatt is tud működni. Sőőőt, ha saját ablakozó rendszert írsz, akkor megoldhatod, hogy az alatt is működjön .
Tetszik...
[ Szerkesztve ]
-
REDeath
őstag
üdv!
kezdő vagyok asp.net-ben, és az lenne a kérdésem, hogy egyesek mért preferálják a sima html kontrollokkal való fejlesztést, mint a fejlettebb controlokat?
most van egy ilyen próba projektem, Repeaterrel, van egyik lapon gridview is (jó, ez speciel csúnya : ), és ezek is meg dropdownlistek is SqlDataSource-okból kapják az adatokat, sqldatasourceokban néhol tettem filtert is, stb.
ha ezeket a funkciókat valaki lehetőleg html controlokkal akarná megoldani (amiknek egyébként annyi az előnyük a sima html elemekhez képest, hogy server oldalon kezelhetőek?) akkor az hogy nézne ki?
pl Repeater helyett meg grid helyett is for ciklussal irogatná a html-t? (php szerűen?)
kezdő létemre nincs asp.net-es tapasztalatom, és érdekelne hogy miért jó vagy épp nem jó ez a szemlélet.
előre is kösziKodály mondta volt: "Legyen a zene mindenkié". en inkabb neki hiszek, mint az ASVAnak
-
x007
tag
válasz REDeath #1406 üzenetére
ASP.NET WebForms-ban szerintem c# kóddal való markup létrehozást mindenképpen kerülni kell, teljesen karbantarthatlan lesz tőle a kód, amit lehet próbáljuk meg dekleratív módon megoldani.
Lista vezérlőkből én a ListView-t tudom javasolni, mert afölött teljesen te rendelkezel, nem szemeteli tele a renderelt markupot olyan tagekkel, amit nem is akarsz, hogy ott legyen. A sablonokban használhatsz ASP.NET vezélőket, HTML tageket is, ami csak jól esik. Keress példákat, biztos tetszeni fog neked is .
ASP.NET MVC-ben (most ismerkedem vele) lehet ilyet csinálni (aspx fájlban):
<% foreach (var product in ViewData) { %>
<div>
<%=product.Category.CategoryName %>
</div>
<%} %>Ez csúnyának tűnhet elsőre, de nekem egyre jobban tetszik .
[ Szerkesztve ]
-
Gregorius
őstag
válasz REDeath #1406 üzenetére
A klasszikus asp.net-ben a szerveroldali controloknak általában van egy viewstate-jük, ami utazik a kliens meg a szerver között (a sima postolt adatokon felül). Kellőképpen elvetemült esetben ez a viewstate kezelhetetlenül nagyra duzzad, ami az alkalmazás reakcióidején csúnyán meglátszik, és elég körülményes a méretére ráhatni fejlesztőként.
Asp.net MVC-t ez a probléma nem érinti. -
REDeath
őstag
még az lenne a kérdésem, hogy ahogy nézem, sok asp vezérlőnek vannak eseményei, amire a codebehindban írhatok kódot, de ezt csak úgy tudja megoldani, hogy generáltat nekem egy scriptet, és a javascript postolja az oldalt vissza a servernek. mai világban mondjuk pont nem aggódnék a js hiánya miatt, de szerintetek melyik a jobb megoldás, vagy az elfogadottabb?
az ha hagyom hogy generáljon javascriptet az eseményekhez és a js postbackeljen, vagy ha minden paramétert amire szükségem van az url-ben adok át, és QueryString-el lekérdezem?konkrét példa, hogy ki van listázva pár cucc, és rendezni szeretném. ListViewben van beépített lehetőség rendezgetésre, de gondoltam megoldom hogy pl.: default.aspx?rendez=irszam de az SqlDataSource ORDER BY része nem fogad paramétert, úgyhogy gondolom akkor nekem kéne belefűzni a paramétert valahogy stringként.
és itt már csomó problémába ütköztem, ezért gondolkoztam el, hogy megérik-e ezek a DataSourceok, vagy mindent én írjak a codebehind részbe, conn.open stb?Kodály mondta volt: "Legyen a zene mindenkié". en inkabb neki hiszek, mint az ASVAnak
-
x007
tag
válasz REDeath #1409 üzenetére
Az nem probléma szerintem, hogy beleszúr scripteket. Amit írtam, abban arra gondoltam, hogy ha a vezérlők beszúrnak olyan elemeket is, amit nem akarsz vagy amiről nem tudsz, akkor pl css írásakor több szívás lesz.
Igazándiból azt kell mérlegelni, hogy megéri-e azt a plussz időt belefektetni, hogy saját megoldásod legyen. Codebehindba ne nagyon írj lekérdezéseket, használj ObjectDataSource-t, az teljes szabadságot ad .
-
REDeath
őstag
listview-vel update nem ment, nem vette át a paramétereket, úgyhogy muszáj volt codebehindban ráerőszakolnom (így sikerült csak)
másik dolog amitől megőrülök, hogy VS2008 designerébe jól látszik, egy marhaegyszerű float. (így)
firefoxban meg ígyamint a képen is látszik egyik div valamiért bekerül a másikba mikor Debugra nyomok. Ezt hogy lehetne kiküszöbölni?
itt az aspx kódja, ebben látszik hogy nincs egymásban :/
egyáltalán mitől lehet? vs bug vagy mi?
Kodály mondta volt: "Legyen a zene mindenkié". en inkabb neki hiszek, mint az ASVAnak
-
x007
tag
A problémától függetlenül, ne használd a VS2008 designert, elég használhatatlannak tartom , mindent markup editorral csinálj meg.
-
FehérHolló
veterán
shev7 és x007: Köszi a válaszaitokat! Ennyivel úgy gondolom, hogy már boldogulok.
Skynet is real. It's called Google.
-
REDeath
őstag
azt még el tudjátok árulni, hogyan lehet megtalálni egy asp:Label-t vagy bármilyen controlt mondjuk PageLoad eventben?
gombnak az eventje esetén is csak így sikerült:protected void Termekek_Frissit_OnClick(object sender, EventArgs e)
{
Button btn = sender as Button;
TextBox temp = (TextBox)btn.Parent.FindControl("TermekNevTextBox");
DS_reszletes.UpdateParameters.Add("nev", temp.Text);...neten már a 82.-ik megoldást is megnéztem, de mindig null lesz... ráadásul nekem egyből a form1-en belül van, nincs beágyazva semmilyen más controlba
szerk: miért mindig postolás után veszem észre a hibám? lehagytam runat-et a Label-ből :/
[ Szerkesztve ]
Kodály mondta volt: "Legyen a zene mindenkié". en inkabb neki hiszek, mint az ASVAnak
-
sunsaw
tag
válasz REDeath #1416 üzenetére
Debugger nem segit? Próbálj meg lerakni egy breakpointot a TextBox temp = (TextBox)btn.Parent.FindControl("TermekNevTextBox"); sorod után, nekem az a gyanúm, hogy ez a konverzió fog neked mindig null-t visszaadni! Nézd meg, mi van a változókban a debuggerben amikor megtört a futás! Lehet, hogy a konverzió során veszik el az adat.
Windows Phone 7 Developer
-
FehérHolló
veterán
Hogy őszinte legyek, elég mély lelki válságba taszítottatok a DataGridView-es kérdésemre adott válaszaitokkal.
Eddig csak konzolos alkalmazásokat írtam. Teljesen új volt számomra, hogy az UI szál írhat csak az "ablakba". Konzolosnál nem kell azzal törődni, hogy ha meg akarok jeleníteni valamit, akkor egyetlen szálba kell dobálnom minden megjelenítendő infot a többiből. (Kicsit elavultnak érzem ezt a megoldást, de ez most részletkérdés.)Elég sokat olvasgattam MSDN-t azóta, hogy valamennyire megismerjem ezt a szemléletet. Találtam egy egész jó cikksorozatot, mely ezzel a kérdéssel foglalkozik. Az első része: [link]
Remélem másnak időt tudok spórolni azzal, hogy ezt megosztottam.tagek fórumkeresőnek: Windows Form thread safe safety UI mashall szál
REDeath:
miért mindig postolás után veszem észre a hibám?
Ugyanabban a kórban szenvedünk.[ Szerkesztve ]
Skynet is real. It's called Google.
-
shev7
veterán
válasz FehérHolló #1418 üzenetére
"Kicsit elavultnak érzem ezt a megoldást, de ez most részletkérdés"
Ez egy erdekes tema, kifejtened?
''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
ArchElf
addikt
válasz FehérHolló #1418 üzenetére
Ehh, konzol... mod...
AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
x007
tag
válasz FehérHolló #1418 üzenetére
Nem elavult, minden GUI framework vezérlése egyszálú. Voltak próbálkozások többszálú GUI kialakítására, de nem igazán jött össze senkinek, amolyan Failed Dream maradt.
-
FehérHolló
veterán
Én úgy látom, hogy Microsoft is érzi, hogy elavult. Például a kezünkbe adtak egy BackGroundWorker osztályt, ami a háttérben végzi el a marshallozást bizonyos esetekben, nem neked kell megírni a kódot, satöbbi.
Igazából jó lenne, ha ez nálam is működne, csak nekem egy while(true) típusú szálból kell adatokat szolgáltatnom. A BackGroundWorker végtelen ciklusosításával ezt jelenleg meg lehet persze csinálni, de ez a megoldás a BGWorker alapcéljától annyira eltér, hogy a későbbi frameworkökkel való kompatibilitásomat kockáztatnám.
shev7: Most nincs sajnos időm. Talán a hétvégén.
[ Szerkesztve ]
Skynet is real. It's called Google.
-
x007
tag
válasz FehérHolló #1422 üzenetére
Nem értem, hogy ettől miért lenne elavult. És azt se értem, hogy miért irtózol a BackgroundWorker nélküli marshallozástól, szerintem nem egy bonyolult dolog...
Probléma akkor lehet, ha nagyon gyakran akarsz a GUI-hoz hozzányúlni. Ilyenkor érdemes bufferezni a kéréseket marshal előtt, majd egyszerre átadni egy "nagyobb" adagot. Ez az ami egyedül gondot okozhat szvsz.
-
ArchElf
addikt
válasz FehérHolló #1422 üzenetére
BGW hogy csinálja meg?
Amúgy nekem ilyen típusú multithreading alkalmazásaim szoktak lenni:
Form -> BGW (szálvezérlésre) -> csomó Thread (dolgozó szálak)
Így viszonylag könnyű szétválasztani a megjelenítést a dolgozó szálaktól, nem oda integrálod be a szálvezérlést (másrészt akár form nélkül is tud futni a program).AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
sunsaw
tag
válasz ArchElf #1424 üzenetére
Ez egy elég jó tervezési taktika, még nem használtam a gyakorlatban többszálú alkalmazásvezérlést, de köszi az ötletet! Ez tényleg jó... van már valami neve a pattern-nek?
FehérHolló: arra van a szerkesztés gomb, 5 percen belül még lehet javítani, mint ahogy most én is ezt teszem
[ Szerkesztve ]
Windows Phone 7 Developer
-
FehérHolló
veterán
A fenébe, pedig nem ezzel akarok most foglalkozni, mégis visszakacsintgatok a fórumra...
Nem irtózok egyáltalán a BGWorkertől, csak nem arra találták ki, amire nekem kéne.
Probléma, ha gyakran kell a GUI-ra írni? Az egész GUI-m arról szól, hogy akárhány (esetemben 2) 500kbit/sec és akárhány (esetemben 1), max 150kbit/sec sebességű, egyenként átlagosan 80%-ban kihasznált hálózat forgalmát jelenítsem meg egy "felhasználóbarát" felületen, on-the-fly szűrési lehetőséggel, meg ilyesmik. Ráadásul úgy, hogy a felhasználó is tudjon manuálisan, vagy ütemezve üzeneteket küldeni.
A kiírandó adatok értelmes pufferelése, pufferek karbantartása, kiírás ütemezése, satöbbi már kész. Csak ez a szerencsétlenség akasztott meg, hogy a GUI-ra csak egy fix szálból lehet írni. Nem akkora gond, eddig is delegate-ekkel dobálóztam a layerek között, de mivel tapasztalatlan voltam ilyen téren, nem számítottam erre az akadályra.[ Szerkesztve ]
Skynet is real. It's called Google.
-
FehérHolló
veterán
válasz FehérHolló #1427 üzenetére
Igazából kicsit hülyén néz ki, hogy a kiírandó adatok beszerzése meg van oldva, a felület külalakra kész, csak a tapasztalatlanságból adódóan problémák merültek fel a kettő rész összekapcsolásával.
[ Szerkesztve ]
Skynet is real. It's called Google.
-
Gregorius
őstag
válasz FehérHolló #1427 üzenetére
Probléma, ha gyakran kell a GUI-ra írni?
Probléma. Egyrészt azért, mert a marshallozásnak költsége van, ami visszafogja a normál működést, másrészt mert az átlag emberi agy reakcióideje legjobb esetben is tizedmásodpercekben mérhető, vagyis teljesen felesleges ezredmásodpercenként frissíteni a GUI-t, mert mire a szerencsétlen felhasználó tudatáig eljut egy adat, addigra már a hatszázzal későbbi minta is rendelkezésre áll. Vagyis 599 mintát tök fölöslegesen írnál ki. -
x007
tag
válasz FehérHolló #1427 üzenetére
"...,hogy miért irtózol a BackgroundWorker nélküli marshallozástól"
-
ArchElf
addikt
Hálózati scannert írtam ezzel a technikával, meg a szakdolgozatomban egy behaviour monitoring rendszert csináltam, és az is többszálú volt (több log-forrást kellett egymás mellett feldolgoznia). Igazából ott egy csomó mindent kipróbáltam a multitherading mellett:
- teszt esetek, teszt források, többszálúság tesztelése, streszteszt, stb.
- dll futás közbeni betöltés, Interface alapú osztály használatAE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
REDeath
őstag
az mitől van hogy a Watch window be van fagyva, nem tudok hozzáadni semmit, még oszlopok szélességét se tudom állítani ?
Kodály mondta volt: "Legyen a zene mindenkié". en inkabb neki hiszek, mint az ASVAnak
-
REDeath
őstag
válasz ArchElf #1435 üzenetére
bár csak vasárnap leszek én gépemnél, de úgy emlékszem igen, totál szürke mindig..
pedig 64 bites vs2008 van, lehet service pack hiányzik neki? az azért durva lenne ha ezt a kvázi fő debugger funkciót 64 bitesben elrontották volna, ezé nem hinném hogy sp hiánya miatt lenneKodály mondta volt: "Legyen a zene mindenkié". en inkabb neki hiszek, mint az ASVAnak
-
sunsaw
tag
Esetleg fejlesztett már valaki a jelenlevők közül MultiTouch alkalmazást? Sok vele a szívás? Mik a buktatók?
[ Szerkesztve ]
Windows Phone 7 Developer
-
Lakers
tag
Hello!
Ha létrehozok egy új projektet, de egy régiből másolom el a kódot, csak hogy lássam a régihez képest, hogy mennyit fejlődött... Akkor a másolás során valahogy a namespace meg minden egymás is másolodik és csak írja írja problémákat, hiába javítgatom őket...
Hogyan lehet ezt megoldani? Hogy új projektben folytatok egy régit? VS2010
-
ArchElf
addikt
Igazából neked szerintem, valami source control rendszerre lenne szükséged.
Ott viszonylag egyszerű verzióváltásokat, meg elágaztatásokat csinálni...
Én otthon a VisualSVN+AnkhSVN kombót használom.AE
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
ArchElf
addikt
VisualSVN Server (hogy legyen hol tároljam a kódokat), úgy látom nem volt elég egyértelmű
Ja tortoise is van egy gépen, de csak azért mert egy időben az svn szervert nem csak svn feladatokra használtam...AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
abuka
csendes tag
Hello!
Készülőben van egy progim ami beolvas egy txt-t amiben egy csomó xls file elérési útvonala van a program jól működik kivéve ha a file nevében vagy az elérési útban ékezet van.pl.:
c:\nemműködik\wáó.xlskövetkező hibával leáll : http://prohardver.hu/dl/upc/2010-08/02/102548_yn4cew9kdbui0pi9_eszeaer.jpg
a következőt már próbáltam:
http://econ.la.psu.edu/~hbierens/NONUNICODE.HTMVálaszotokat előre is köszönöm.
abu
-
REDeath
őstag
WebSite és WebApplication közt mi a különbség? websitenál van copy website menüpont, és nincsenek akármi.designer.cs fileok amibe generált cucc kerül, de akkor ott hol vannak?
neten olvastam hogy mi a különbség, de vagy reggel még nem fordít a fejem angolról jól, vagy nemtom, de pl. van a coolio.sandbox.proserver.hu ahova gondoltam felrakok vmi egyszerűt, copy websitenál megy ha a web.configot nem másolom fel, WebApplication esetén ha tcm-el feltolom ugyanazokat a fájlokat, hivatkozik a web.config hiányára, de ha felrakom elszáll.szóval megéri a webapp a hülye deployyal, vagy egyszerűbb csak website azt kész?
pontosítanám, neten megnéztem, de nincs annyi tapasztalatom, hogy érezzem is melyik előnyősebb vagy sem..szerk: websitenál tényleg nincs sehol ami projektnél az akármi.designer.cs fájlba kerül ha behúzok bármit a toolboxról. ott ezeket a deklarációkat csak futtatáskor készíti magának mindenről amit talál az aspx fájlokban?
[ Szerkesztve ]
Kodály mondta volt: "Legyen a zene mindenkié". en inkabb neki hiszek, mint az ASVAnak
-
Boryszka
tag
Üdv!
Tudna valaki adni linket, ahol megtalálom a "Tanuljuk meg a Visual C# 2008 használatát 24 óra alatt" című könyv digitalizált változatát, esetleg akinek megvan dobna egy privátot?
Üdv!
BL
-
Boryszka
tag
válasz robotjatek #1448 üzenetére
Szia!
Nagyon köszi! Ez is jó lesz, de elsősorban nem vizuális programokra épít!
BL
Ú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!
- iPad Air 10.9" - 2022, M1, Apple garancia, doboz, kék
- iPad Air 10.9" - 2022, M1, nanoSIM, Apple garancia, doboz, szürke
- Macbook Pro 16" - i9 és i7, 32/512GB, 4GB Radeon, touchbar, garancia, szürke
- Macbook Pro 15" - 2018, 6 mag i7, 16/256 GB, 4GB Radeon, 83 ciklus, garancia, ezüst (02)
- Macbook Pro 15" - 2017, 4 mag i7, 16/256 GB, 4GB Radeon, 99%, garancia, doboz, szürke