Autor Téma: ShowMessage nezobrazi cely text :)  (Přečteno 6533 krát)

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
ShowMessage nezobrazi cely text :)
« kdy: 27-04-2021, 19:00:06 »
Zdarec,
ma nekdo tucha, proc se nezobrazi "uloženo.", ale jen "Nastavení překryvu bylo" ?

  ShowMessage('Nastavení překryvu bylo uloženo.');

Delphi 10.3CE, target Win64
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3544
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:ShowMessage nezobrazi cely text :)
« Odpověď #1 kdy: 28-04-2021, 09:42:03 »
Nejsou tam skryte jeste nejake jine znaky? Kdyz to vlozis do notepadu a zpet
Embarcadero MVP - Czech republic

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1587
  • Karma: 52
    • Verze Delphi: 11.3
Re:ShowMessage nezobrazi cely text :)
« Odpověď #2 kdy: 28-04-2021, 10:15:23 »
V 10.4.2 stejný problém má i samotné IDE při zobrazování bublinkové nápovědy - na obrázku, co přikládám, by se mělo při najetí myší zobrazit "Odstranit všechny položky", ale to poslední slovo mu jaksi vypadlo.

Reportováno tady: https://quality.embarcadero.com/browse/RSP-33350?filter=-2

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Re:ShowMessage nezobrazi cely text :)
« Odpověď #3 kdy: 28-04-2021, 10:25:18 »
Nejsou tam skryte jeste nejake jine znaky? Kdyz to vlozis do notepadu a zpet
Nepomohlo.

Ale :
  ShowMessage('Nastavení překryvu bylo uloženo. 1 2 3 4 5 6 7 8 9 0');

To zobrazi po cislo 8.

To by byl supr priklad na prezentaci - takovy HELLO WORLD co zobrazi jen HELLO, to jen tak nekdo neumi.

  ShowMessage('Nastavení překryvu bylo uloženo. (1)');

Zobrazi spravne puvodni text. Cili nahradit vsechny volani ShowMessage za svuj a pridat tam nejaky balast. To jsou veci..
« Poslední změna: 28-04-2021, 10:29:45 od raul »
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3544
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:ShowMessage nezobrazi cely text :)
« Odpověď #4 kdy: 28-04-2021, 10:48:29 »
Nejsou tam skryte jeste nejake jine znaky? Kdyz to vlozis do notepadu a zpet
Nepomohlo.

Ale :
  ShowMessage('Nastavení překryvu bylo uloženo. 1 2 3 4 5 6 7 8 9 0');

To zobrazi po cislo 8.

To by byl supr priklad na prezentaci - takovy HELLO WORLD co zobrazi jen HELLO, to jen tak nekdo neumi.

  ShowMessage('Nastavení překryvu bylo uloženo. (1)');

Zobrazi spravne puvodni text. Cili nahradit vsechny volani ShowMessage za svuj a pridat tam nejaky balast. To jsou veci..


Ted jsem to zkousel a OK. Prosim muzes sem vlozit projekt kde to dela?
Embarcadero MVP - Czech republic

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Re:ShowMessage nezobrazi cely text :)
« Odpověď #5 kdy: 28-04-2021, 10:52:29 »
To bohuzel nemuzu, neni to malej projekt ( a do tyhle casti se nedostanes bez pripojeneho hw). Zkusil jsem jeste celej soubor prehodit pres notepad2 (poznamkovy blok uz ve windows nemam), presto to stale zobrazi bez posledni casti. Zkusim vytvorit nejakej minimalni priklad.
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1144
  • Karma: 29
    • Verze Delphi: XE8, Sydney
Re:ShowMessage nezobrazi cely text :)
« Odpověď #6 kdy: 28-04-2021, 11:12:45 »
Jen tak hádám, nepotřebuje to třeba taky #0 nebo #0#0 pro null terminated string ?

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3544
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:ShowMessage nezobrazi cely text :)
« Odpověď #7 kdy: 29-04-2021, 11:29:32 »
To bohuzel nemuzu, neni to malej projekt ( a do tyhle casti se nedostanes bez pripojeneho hw). Zkusil jsem jeste celej soubor prehodit pres notepad2 (poznamkovy blok uz ve windows nemam), presto to stale zobrazi bez posledni casti. Zkusim vytvorit nejakej minimalni priklad.

To jsem fakt zvedav, jeste mne napadlo zda ten zdrojak neni ulozen treba v UTF-8 nebo tak neco.
Embarcadero MVP - Czech republic

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Re:ShowMessage nezobrazi cely text :)
« Odpověď #8 kdy: 30-04-2021, 10:34:32 »
Radku ale i kdyby byl, IDE samo umi toto prepnout na UTF (zkusil jsem tam a zpet apod, ale nic). Bohuzel je fakt smutne, ze - pres ty zminene testy - proste neni mozne (treba za jistych okolnosti, ale to si ma IDE pohlidat) pouzit takovou basic metodu.
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3544
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:ShowMessage nezobrazi cely text :)
« Odpověď #9 kdy: 30-04-2021, 10:46:30 »
Radku ale i kdyby byl, IDE samo umi toto prepnout na UTF (zkusil jsem tam a zpet apod, ale nic). Bohuzel je fakt smutne, ze - pres ty zminene testy - proste neni mozne (treba za jistych okolnosti, ale to si ma IDE pohlidat) pouzit takovou basic metodu.

Ja nevim co se deje, protoze jsem to zkousel na win64 a fungovalo to a zadne podobne chybe jsem neslysel, tak mi prislo jako jedine vysvetleni (krome toho ze mas naboreny exe nebo program v pameti), ze soubor je v nejakem kodovani a ten text je nejak zboren.
Embarcadero MVP - Czech republic

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1587
  • Karma: 52
    • Verze Delphi: 11.3
Re:ShowMessage nezobrazi cely text :)
« Odpověď #10 kdy: 30-04-2021, 10:58:02 »
Zkusim vytvorit nejakej minimalni priklad.

Máš nějaký ten příklad, který bychom mohli zkusit?

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3531
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:ShowMessage nezobrazi cely text :)
« Odpověď #11 kdy: 30-04-2021, 12:33:42 »
ma nekdo tucha, proc se nezobrazi "uloženo.", ale jen "Nastavení překryvu bylo" ?

  ShowMessage('Nastavení překryvu bylo uloženo.');

Delphi 10.3CE, target Win64
Nejak z toho nevim, jestli se jedna o VCL nebo FMX framework

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Re:ShowMessage nezobrazi cely text :)
« Odpověď #12 kdy: 30-04-2021, 12:38:34 »
1) Zkusil jsem vytvorit novy projekt, komplet odmazat vse (par tisic radku), nechat jen Showmessage a jede jak ma. Tzn je to kdo vi kde - pokud preklad jednoho radku zavisi na zbytku souboru, tak potes koste :) Jako chapal bych, ze kvuli nejakemu znaku se rozsype treba preklad, budiz, ale viditelne se jen vysypou texty. Presun na zacatek implementation nepomohl (ale to uz je radek kolem 2000).

2) Je to ve skupine FireMonkey, takze se to tyka FireMonkey.
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1587
  • Karma: 52
    • Verze Delphi: 11.3
Re:ShowMessage nezobrazi cely text :)
« Odpověď #13 kdy: 30-04-2021, 12:53:28 »
1) Zkusil jsem vytvorit novy projekt, komplet odmazat vse (par tisic radku), nechat jen Showmessage a jede jak ma. Tzn je to kdo vi kde - pokud preklad jednoho radku zavisi na zbytku souboru, tak potes koste :) Jako chapal bych, ze kvuli nejakemu znaku se rozsype treba preklad, budiz, ale viditelne se jen vysypou texty. Presun na zacatek implementation nepomohl (ale to uz je radek kolem 2000).

A nemůže to být tím, že se v programu omylem přepíše paměť, kde je ten text?
Zkusil bych na tom samém místě si deklarovat s: string a pak ho naplnit zhruba takto:
Kód: Delphi [Vybrat]
  1. s:='';
  2. for a:=1 to 26 do if (a mod 7)=0 then s:=s+chr(32) else s:=s+chr(64+a);
  3. ShowMessage(s);
  4.  
Text by měl končit písmenem Z.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3544
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:ShowMessage nezobrazi cely text :)
« Odpověď #14 kdy: 30-04-2021, 13:06:25 »
1) Zkusil jsem vytvorit novy projekt, komplet odmazat vse (par tisic radku), nechat jen Showmessage a jede jak ma. Tzn je to kdo vi kde - pokud preklad jednoho radku zavisi na zbytku souboru, tak potes koste :) Jako chapal bych, ze kvuli nejakemu znaku se rozsype treba preklad, budiz, ale viditelne se jen vysypou texty. Presun na zacatek implementation nepomohl (ale to uz je radek kolem 2000).

2) Je to ve skupine FireMonkey, takze se to tyka FireMonkey.

Aha,
a kdyz das pri zobrazeni toho messageboxu CTLT+C, tak ti do schranky zkopiruje co? Ted jsem zkousel ze i FMX verze pouzije nakonec MessageBoxIndirect, takze mi to fungovalo. Jde o to zda to nezobrazuje spatne ten msgbox, treba vlivem DPI
Embarcadero MVP - Czech republic

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Re:ShowMessage nezobrazi cely text :)
« Odpověď #15 kdy: 30-04-2021, 13:15:41 »
Ad DPI - to by ale zobrazilo blbe i v tom prikladu, ktery jsem sestavil (ano, mam ve win10 - 125%).

Takze hehe :) Pusteno na hlavnim monitoru (125%) jde. Pusteno na sekundarnim monitoru (100%) zobrazi jen kus. (Takto se to chova i kdyz aplikaci presunu za behu rucne). Tzn ze by ten dialog pri zobrazeni pocital s dpi main monitoru apod ? Je tam zajimave, ze se to zobrazi po mezeru, nestrihne to text treba v pulce (pak bych tohle trochu cekal).
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3544
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:ShowMessage nezobrazi cely text :)
« Odpověď #16 kdy: 30-04-2021, 13:24:21 »
Ad DPI - to by ale zobrazilo blbe i v tom prikladu, ktery jsem sestavil (ano, mam ve win10 - 125%).

Takze hehe :) Pusteno na hlavnim monitoru (125%) jde. Pusteno na sekundarnim monitoru (100%) zobrazi jen kus. (Takto se to chova i kdyz aplikaci presunu za behu rucne). Tzn ze by ten dialog pri zobrazeni pocital s dpi main monitoru apod ? Je tam zajimave, ze se to zobrazi po mezeru, nestrihne to text treba v pulce (pak bych tohle trochu cekal).

Pro zajimavost: Co mas v Project Options / Application/ Manifest -> DPI Awareness?
Embarcadero MVP - Czech republic

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Re:ShowMessage nezobrazi cely text :)
« Odpověď #17 kdy: 30-04-2021, 13:25:24 »
Per monitor v2 - asi vychozi hodnota, nevim, ze bych ji menil.

U test aplikace - zmeneno na Per monitor (bez v2) a zobrazi na obou vse.
« Poslední změna: 30-04-2021, 13:28:16 od raul »
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3531
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:ShowMessage nezobrazi cely text :)
« Odpověď #18 kdy: 30-04-2021, 15:34:20 »
2) Je to ve skupine FireMonkey, takze se to tyka FireMonkey.
OK, akorat ja to ctu vyhradne pres RSS a tam abych videl skupinu, tak musim odrolovat uplne nahoru a precist si ji v breadcrumbs :-(

Offline František

  • Guru
  • *****
  • Příspěvků: 916
  • Karma: 8
    • Verze Delphi: comunity 10.4.2, D2007, D12, D2009
Re:ShowMessage nezobrazi cely text :)
« Odpověď #19 kdy: 26-08-2021, 15:05:27 »
nema na to vplyv nastavenie mierky vo windows?

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 468
  • Karma: 15
    • Verze Delphi: FPC :D
Re:ShowMessage nezobrazi cely text :)
« Odpověď #20 kdy: 27-08-2021, 09:20:29 »
Zrejme na to ma vliv nastaveni prvniho monitoru (125%), pri zobrazeni rovnou na druhem monitoru (100%).
Lazarus 1.6.3:), FPC, Intel/Arm, Windows/Linux, (občas Delphi)