NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Zachyceni vyjimky vyvolane v procedure zpetneho volani (callback)

V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Michal Hadraba:6.4.2023 22:26

Pouzivam MFC a kdyz vyhreznu vyjimku v procedure, ktera je zpetne volana nejakym PrvkemOkna, napr. GetDispInfo volane CTreeCtrl, vyjimka neprojde az do hlavni funkce, kde je blok catch.
C++ ohlasi unhandled exception in user call back function.

Zkusil jsem: Zkusil jsem to zachytit pres proceduru CWinApp::Proces­sWndProcExcep­tion, ale nerozchodil jsem to.
Napadlo mě reseni, chytat vyjimku primo v CallBack funkci a pak poslat nejakou user message volajicimu oknu, napr. WM_USER_EXCEPT, ale prijde mi to moc krkolomne.

Chci docílit: Chytat vyjimky v CallBack funkcich. Zde treba predavam data z me struktury CTreeListu a obcas se vyskytne nejaky neocekavany null ukazatel, data nelze predat, je treba ukoncit okno a data regenerovat...

 
Odpovědět
6.4.2023 22:26
Avatar
Petan
Člen
Avatar
Petan:11.4.2023 8:46

Ahoj. V kterem okne a na kterem miste by jsi chtel chytat vyjimky z callback funkci windows ? Snad jedine na vlastni dotaz neco jako GetItemText() ale vazne pochybuji ze se ta vyjimka dostane zpet.
K chytani techto vyjimek je ta funkce CWinApp::Proces­sWndProcExcep­tion a c cem je u ni problem ?
TP

 
Nahoru Odpovědět
11.4.2023 8:46
Avatar
JerryM
Člen
Avatar
JerryM:24.4.2023 16:40

Ty programuješ v MFC ? v roce 2023 ? ty seš opravu masochista 😀

https://learn.microsoft.com/…ion-handling?…

ano, výjimka z CallBackFunkce v MFC zachytit jde, protože CallBackFunkce je funkce, kterou píšeš ty .. chápeš jo ?

https://groups.google.com/…/EPZ_Hin_GsQ

slyšel jsi někdy o C++/Qt ??? to je řekl bych mnohem lepší než poměrně zastaralá MFC, která se v čr už skoro vubec
nepoužívá. ty se budeš stěhovat do německa ? do francie ? jinam ?

https://www.codeguru.com/…llback-demo/

https://en.wikipedia.org/…lass_Library

a jsi si jistý, že se programovánm v MFC uživíš ? neměl by si lepší dělat v Javě ? nebo Kotlínu ? nebo v .NET 7 ASPču ? nebo PHP ? a zkoušel si už někdy CodeGearRAD Studio Delphi nebo C++Builder ? a co třeba AndroidStudio ?

a víš o tom že průměrný 25ti letý svářeč nerezu si dneska vydělá na IČO 150000 měsíčně ?

podle mě možná pácháš sebevraždu, ale každý to mužeme cítit jinak

protože MFC je pro vývoj čistě desktopových aplikací pod Windows v C++ a na tohle je mnohem lepší použít .NET 7 C# WPF nebo WinForms protože tvoje produktivita se zvýší asi tak 3x ... . nebo mužeš zkusit .NET 7 VisualBasic WPF nebo WinForms, ale to se používá hlavně v USA. No jestli ti moc nejde C++ tak zkus procedurální basic: https://www.b4x.com/

 
Nahoru Odpovědět
24.4.2023 16:40
Avatar
Odpovídá na JerryM
Michal Hadraba:24.4.2023 20:06

Děkuji za cenné rady. Já si jako projektant nerezových technologií a vodohospodářských vydělám docela dost. Svářeči nerezu normálně 150 000,- nemaj, ale maj dost, to jo. Ale, byl jsi někdy celý den ve vodárně? Kde je i v létě zima a vlhko?
..nic, já programuju ne proto, abych se živil, ale proto, že mě to baví a taky proto, že si tím dost usnadním svohi práci. A jsem dosti omezen Autocadem, který podporuje C++ a MFC.
Asi je to spíš dost věc názoru.

 
Nahoru Odpovědět
24.4.2023 20:06
Avatar
JerryM
Člen
Avatar
Odpovídá na Michal Hadraba
JerryM:24.4.2023 21:00

Ano, ano, AutoCAD je v tomto ohledu opravdu bestiální. Dokonce o tom někdo napsal knížku:

https://www.amazon.ae/…p/076680643X

ale jestli se nepletu tak i .NET C# lze použít pro programování v AutoCADu

https://www.udemy.com/…nner-course/?…

https://www.c-sharpcorner.com/…ith-autocad/

možná je čas změnit systém :)

 
Nahoru Odpovědět
24.4.2023 21:00
Avatar
Odpovídá na JerryM
Michal Hadraba:25.4.2023 8:13

Ano, ale C# je o dost pomalejší. Pro Autocad je C++ ideální.

 
Nahoru Odpovědět
25.4.2023 8:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.