Autor Téma: D 12.2  (Přečteno 1513 krát)

Offline jirka52

  • Plnoletý
  • ***
  • Příspěvků: 165
  • Karma: 3
    • Verze Delphi: D2, D5, D6, D2005, D2006, D2009, DXE2,DXE7,D10.2, D11.2, D12.1, D12.2
Re:D 12.2
« Odpověď #15 kdy: 16-09-2024, 11:36:23 »
Na mém PC instalace D12.2 bez problému
Tak jsem byl zbytečný optimista. Při spuštění 64 bit aplikace pro Windows 10, delphi 12.2 to generuje hned výjimku
"raised exception class EReadError with message 'Error reading Panel1.Top: Access violation at address 0000000000DB7ED6 in module 'Pantyer.exe' (offset 7ED6). Write of address 0000019B00000190'."
Ve verzi delphi 12.1 problém nebyl

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1584
  • Karma: 52
    • Verze Delphi: 11.3
Re:D 12.2
« Odpověď #16 kdy: 16-09-2024, 11:41:59 »
"raised exception class EReadError with message 'Error reading Panel1.Top: Access violation at address 0000000000DB7ED6 in module 'Pantyer.exe' (offset 7ED6). Write of address 0000019B00000190'."

Není nějak pokažený příslušný .dfm soubor? U mne 64bitové verze aplikací z Delphi 12.2 fungují normálně.

Offline jirka52

  • Plnoletý
  • ***
  • Příspěvků: 165
  • Karma: 3
    • Verze Delphi: D2, D5, D6, D2005, D2006, D2009, DXE2,DXE7,D10.2, D11.2, D12.1, D12.2
Re:D 12.2
« Odpověď #17 kdy: 16-09-2024, 12:10:25 »
Není, je to pořád to stejné. Win 32 funguje, lehne to pod Win 64.
Du dál nad tím bádat. Nejdřív nás tu spláchne Desná a teď ještě tohle

Offline soko.ban

  • Mladík
  • **
  • Příspěvků: 55
  • Karma: 2
    • Verze Delphi: RAD Studio 12.1 (Začínal jsem s Delphi 2)
Re:D 12.2
« Odpověď #18 kdy: 17-09-2024, 14:06:28 »
Hm, debug dynamicky nahrávaných bpl je taky stejnej, tedy na prd. Od 12 jsou s tím akorát problémy. Tak nedík.

Offline chaloup

  • Plnoletý
  • ***
  • Příspěvků: 131
  • Karma: 11
    • Verze Delphi: Delphi 12.2
Re:D 12.2
« Odpověď #19 kdy: 17-09-2024, 14:18:04 »
Při použití ActionListu+VirtualImageList+SpeedButton
se někdy (většinou po otevření projektu, když zůstal form s tímto otevřený v IDE)
se do SpeedButtonu nepřenese ImageName a SpeedButton nemá ikony
když se form zavře a znovu otevře tak se to většinou načte, problém je, že když si toho nevšimnu při otevření
a udělám ve formu změnu SpeedButtony se uloží bez ImageName...
« Poslední změna: 17-09-2024, 14:22:57 od chaloup »

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3496
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:D 12.2
« Odpověď #20 kdy: 17-09-2024, 16:50:53 »
Hm, debug dynamicky nahrávaných bpl je taky stejnej, tedy na prd. Od 12 jsou s tím akorát problémy. Tak nedík.

v https://docwiki.embarcadero.com/RADStudio/Athens/en/New_features_and_customer_reported_issues_fixed_in_RAD_Studio_12.2
je fixed "Can't debug dynamically loaded bpls"    Debugger    RSP-40585
Embarcadero MVP - Czech republic

Offline soko.ban

  • Mladík
  • **
  • Příspěvků: 55
  • Karma: 2
    • Verze Delphi: RAD Studio 12.1 (Začínal jsem s Delphi 2)
Re:D 12.2
« Odpověď #21 kdy: 18-09-2024, 14:25:55 »
Hm, 32 bit aplikace, která nahraje jedno hlavní bpl na začátku a pak nahrává několik dalších podle toho, co chce user dělat. No a a bych mohl debugovat nějaké bpl, tak musím v Delphi mít vybrané v Projects jiné. Což je dost otrava, protože potřebuju překládat něco jinýho než mám vybraný.

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1584
  • Karma: 52
    • Verze Delphi: 11.3
Re:D 12.2
« Odpověď #22 kdy: 18-09-2024, 15:11:28 »
Hm, 32 bit aplikace, která nahraje jedno hlavní bpl na začátku a pak nahrává několik dalších podle toho, co chce user dělat. No a a bych mohl debugovat nějaké bpl, tak musím v Delphi mít vybrané v Projects jiné. Což je dost otrava, protože potřebuju překládat něco jinýho než mám vybraný.

A nebylo by lepší se těch .bpl zbavit a mít jen jeden .exe? Udělal jsem to už dávno a jsem rád.
Nebo alespoň pro ladění .bpl nepoužívat, když to nefunguje dobře.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3496
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:D 12.2
« Odpověď #23 kdy: 18-09-2024, 15:18:13 »
Pokud chces ladit bpl (nebo DLL), musis tam mit remote debugging pri kompilaci, a mozna jeste neco (place debug info in separate file). Vim, ze jsem si s tim hral tak pred rokem a nakonec to nebylo uplne logicke ale fungovalo to
Embarcadero MVP - Czech republic

Offline jirka52

  • Plnoletý
  • ***
  • Příspěvků: 165
  • Karma: 3
    • Verze Delphi: D2, D5, D6, D2005, D2006, D2009, DXE2,DXE7,D10.2, D11.2, D12.1, D12.2
Re:D 12.2
« Odpověď #24 kdy: 20-09-2024, 15:39:31 »
Není, je to pořád to stejné. Win 32 funguje, lehne to pod Win 64.
Du dál nad tím bádat. Nejdřív nás tu spláchne Desná a teď ještě tohle
Tak jsem na to přišel. Chyba byla v 64 bitové verzi dll ovladačů od National instrument. Po jejím zavoláním mi volaný COM objekt přepisoval paměť, ale nevytvářela nikde žádnou výjimku. Zajímavé je, že problémy to začalo dělat až toto pondělí a to pouze na 1 PC.
Naštěstí mají Delphi remote debugging, díky čemuž máte tuto chybu  šanci odhalit.
Léta jsem měl tuto aplikaci pouze 32 bitovou, 64 bitovou teprve od letošního května, přičemž ty ovladače byly z roku 2022.
Předpokládám, že to přepisuje v 64 bitech paměť i na ostatních PC, ale asi přepíše někde něco jiného.

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1584
  • Karma: 52
    • Verze Delphi: 11.3
Re:D 12.2
« Odpověď #25 kdy: 20-09-2024, 16:55:59 »
Vidíš, a já nedávno zkoušel (ještě v D 12.1) Remote debugging a moc spokojený jsem nebyl - krokování sice fungovalo, ale hodnoty proměnných mi to zobrazovalo naprosto nesmyslně...

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3496
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:D 12.2
« Odpověď #26 kdy: 20-09-2024, 17:49:43 »
Vidíš, a já nedávno zkoušel (ještě v D 12.1) Remote debugging a moc spokojený jsem nebyl - krokování sice fungovalo, ale hodnoty proměnných mi to zobrazovalo naprosto nesmyslně...

Celý Win64, Android, iOS, Linux debugger je postaven jako remote debugger a funguje to celkem obstojně, jsi si jistý?
Embarcadero MVP - Czech republic

Offline jirka52

  • Plnoletý
  • ***
  • Příspěvků: 165
  • Karma: 3
    • Verze Delphi: D2, D5, D6, D2005, D2006, D2009, DXE2,DXE7,D10.2, D11.2, D12.1, D12.2
Re:D 12.2
« Odpověď #27 kdy: 20-09-2024, 18:33:31 »
Vidíš, a já nedávno zkoušel (ještě v D 12.1) Remote debugging a moc spokojený jsem nebyl - krokování sice fungovalo, ale hodnoty proměnných mi to zobrazovalo naprosto nesmyslně...

Celý Win64, Android, iOS, Linux debugger je postaven jako remote debugger a funguje to celkem obstojně, jsi si jistý?
Remote debugging používám hodně často.
Dělám hlavně měřící aplikace a když mám velkou sestavu přístrojů v laboratoři, které nemohu mít v kanclu, tak mi ani nic jiného nezbývá.
A funguje dobře, jinak bych neměl šanci cokoli vyřešit.
Naopak mám právě tuto měřící aplikaci, kterou u sebe debuguji jen ve Win 32, protože debug ve Win 64 nefunguje na mém lokále - netuším proč, nastavení mám stejný. Přitom u jiných projektů mi debug ve Win 64 funguje.
A právě tady přichází i na mém PC remote debugging - jednoduše si ho spustím na localhostu a debuguji i ve Win 64.
Malá vsuvka:
Tu měřící aplikaci jsem začal dělat v roce 2006 ještě v "Delphi 2006", postupně jsem na ni, jak šel čas, dělal i v dalších verzích Delphi.
A právě verze z Delphi 12.1 uvolněná 20.8.2024 mi ještě minulý pátek měřila. Poté se spustili nějaké aktualizace Windows 10 a toto pondělí 16.9.2024 nešla na jednom PC v labce ani spustit.
Kdyby Delphi neměli "Remote debugging", tak bych byl v koncích. V 99.99 % případů je chyba v kódu aplikace, ale tady vše prošlo, akorát mi ta 64 bitová verze "GlobMgr.dll" náhodně přepisovala paměť. Chcípalo to přímo ve volání "System.SysGetMem" a ta výjimka většinou ukazoval např. na instanci TLabel nebo TPanel. A přitom jsem tam s tím nic nedělal.
A na ostatních PC běžela.
Dalo mi to zabrat, prostě jsem neočekával zradu od externí knihovny.
Příště už radši nic očekávat nebudu:-)

Offline Daniel_Andrascik

  • Guru
  • *****
  • Příspěvků: 580
  • Karma: 20
    • Verze Delphi: D2007, D10.4
Re:D 12.2
« Odpověď #28 kdy: 20-09-2024, 18:55:58 »
Tak jsem na to přišel. Chyba byla v 64 bitové verzi dll ovladačů od National instrument. Po jejím zavoláním mi volaný COM objekt přepisoval paměť, ale nevytvářela nikde žádnou výjimku. Zajímavé je, že problémy to začalo dělat až toto pondělí a to pouze na 1 PC.
Naštěstí mají Delphi remote debugging, díky čemuž máte tuto chybu  šanci odhalit.
Léta jsem měl tuto aplikaci pouze 32 bitovou, 64 bitovou teprve od letošního května, přičemž ty ovladače byly z roku 2022.
Předpokládám, že to přepisuje v 64 bitech paměť i na ostatních PC, ale asi přepíše někde něco jiného.

ako si na to prisiel?

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1584
  • Karma: 52
    • Verze Delphi: 11.3
Re:D 12.2
« Odpověď #29 kdy: 20-09-2024, 19:36:48 »
Celý Win64, Android, iOS, Linux debugger je postaven jako remote debugger a funguje to celkem obstojně, jsi si jistý?

Že se mi v Evaluate okně zobrazovaly zcestné hodnoty, tím jsem si jistý (např. jsem do lokální proměnné uložil šířku panelu a Evaluate zobrazilo nějaké 8místné číslo - proměnná se přitom dál v kódu používala, tak to nebylo tím, že by ten příkaz eliminoval optimalizátor). Je možné, že jsem měl někde něco špatně nastaveného nebo se mělo ještě zapnout něco, co jsem nezapnul, ale dál jsem nad tím nebádal, protože co jsem potřeboval vyřešit, jsem vyřešil i tak, a normálně vzdálené ladění nepotřebuju.