Forum Delphi.cz

Delphi => Firemonkey => Téma založeno: raul 27-04-2021, 19:00:06

Název: ShowMessage nezobrazi cely text :)
Přispěvatel: raul 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
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: Radek Červinka 28-04-2021, 09:42:03
Nejsou tam skryte jeste nejake jine znaky? Kdyz to vlozis do notepadu a zpet
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: vandrovnik 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 (https://quality.embarcadero.com/browse/RSP-33350?filter=-2)
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: raul 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..
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: Radek Červinka 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?
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: raul 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.
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: JaroB 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 ?
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: Radek Červinka 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.
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: raul 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.
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: Radek Červinka 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.
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: vandrovnik 30-04-2021, 10:58:02
Zkusim vytvorit nejakej minimalni priklad.

Máš nějaký ten příklad, který bychom mohli zkusit?
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: pf1957 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
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: raul 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.
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: vandrovnik 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.
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: Radek Červinka 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
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: raul 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).
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: Radek Červinka 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?
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: raul 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.
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: pf1957 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 :-(
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: František 26-08-2021, 15:05:27
nema na to vplyv nastavenie mierky vo windows?
Název: Re:ShowMessage nezobrazi cely text :)
Přispěvatel: raul 27-08-2021, 09:20:29
Zrejme na to ma vliv nastaveni prvniho monitoru (125%), pri zobrazeni rovnou na druhem monitoru (100%).