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

Offline raul

  • Hrdina
  • ****
  • Příspěvků: 409
  • 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

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2875
  • Karma: 106
    • 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

  • Guru
  • *****
  • Příspěvků: 1214
  • Karma: 51
    • Verze Delphi: 10.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ů: 409
  • 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

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2875
  • Karma: 106
    • 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ů: 409
  • 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

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1043
  • Karma: 29
    • Verze Delphi: XE8, Seattle
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ů: 2875
  • Karma: 106
    • 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ů: 409
  • 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

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2875
  • Karma: 106
    • 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

  • Guru
  • *****
  • Příspěvků: 1214
  • Karma: 51
    • Verze Delphi: 10.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ů: 3210
  • Karma: 137
    • 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ů: 409
  • 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

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1214
  • Karma: 51
    • Verze Delphi: 10.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ů: 2875
  • Karma: 106
    • 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