Autor Téma: 10.3 Rio - Inline proměnné označuje za chybu  (Přečteno 3090 krát)

Offline starous

  • Mladík
  • **
  • Příspěvků: 95
  • Karma: 3
    • Verze Delphi: Delphi 7, Delphi 10.4
10.3 Rio - Inline proměnné označuje za chybu
« kdy: 24-11-2018, 00:44:29 »
Po nainstalaci nové verze 10.3 jsem si zkusil napsat příklad s inline proměnnými.

Kód: Delphi [Vybrat]
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.   var I: Integer;
  4.   I := 22;
  5.   ShowMessage (I.ToString);
  6. end;
  7.  

Program se bez problémů přeloží a spustí a samozřejmě funguje jak má. Rozčiluje mě ale, že editoru se kód nelíbí a mám tam podtržené 3 chyby. Jako kdyby vůbec nebyl připraven na tuto jazykovou úpravu.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2982
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #1 kdy: 24-11-2018, 01:31:47 »
Rozčiluje mě ale, že editoru se kód nelíbí a mám tam podtržené 3 chyby. Jako kdyby vůbec nebyl připraven na tuto jazykovou úpravu.

To bude nejspis chyba aktualizace zmen jazyka (T)Error Insight. Chapu ze to nekdo pouziva, ale je to jedna z prvnich moznosti IDE, jenz bych bez boje opustil a bez vahani vypnul.

Myslím, že se dále nebude výrazně investovat do starého IDE parseru (ale toto se ještě mělo upravit), který je mimochodem bohužel v .NET (a je to prakticky jediná zásadní závislost IDE na .NET a celkem výrazně žere paměť) a nemá nic společného s kompilátorem. Cílem je místo toho použít reálný kompilátor, kterým se překládá výsledný program. Přesto si myslím, že i tak došlo k opravě x problémů s parserem a proti dřívějším verzím má podle mne ted minimum false positive.
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2982
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #2 kdy: 24-11-2018, 01:35:53 »
Excellent
Rated 1 time
P.S. : ten tvůj kód je celkem v pohodě, větší maso je

Kód: Delphi [Vybrat]
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.   var I:= 22;
  4.   ShowMessage (I.ToString);
  5. end;
  6.  

kde kompilátor určí typ proměnné podle výsledku.
Embarcadero MVP - Czech republic

Offline starous

  • Mladík
  • **
  • Příspěvků: 95
  • Karma: 3
    • Verze Delphi: Delphi 7, Delphi 10.4
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #3 kdy: 24-11-2018, 08:29:24 »
Rozčiluje mě ale, že editoru se kód nelíbí a mám tam podtržené 3 chyby. Jako kdyby vůbec nebyl připraven na tuto jazykovou úpravu.

To bude nejspis chyba aktualizace zmen jazyka (T)Error Insight. Chapu ze to nekdo pouziva, ale je to jedna z prvnich moznosti IDE, jenz bych bez boje opustil a bez vahani vypnul.

Nainstaloval jsem čisté Delphi a vyzkoušel zmíněný kód. Takže je to default nastavení Delphi. Kde se to dá vypnout?

Offline starous

  • Mladík
  • **
  • Příspěvků: 95
  • Karma: 3
    • Verze Delphi: Delphi 7, Delphi 10.4
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #4 kdy: 24-11-2018, 08:39:17 »
P.S. : ten tvůj kód je celkem v pohodě, větší maso je

Kód: Delphi [Vybrat]
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.   var I:= 22;
  4.   ShowMessage (I.ToString);
  5. end;
  6.  

kde kompilátor určí typ proměnné podle výsledku.


Souhlasím. V Embarcaderu určitě hodně mákli. Jen mě překvapilo, že si nejsou schopni ošetřit zásadní jazykovou novinku. Ale jak píše Delphin - asi to má každej vypnutý. Pak by bylo lepší to vypnout defaultně.
« Poslední změna: 24-11-2018, 08:41:28 od starous »

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2982
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #5 kdy: 24-11-2018, 10:42:55 »
Rozčiluje mě ale, že editoru se kód nelíbí a mám tam podtržené 3 chyby. Jako kdyby vůbec nebyl připraven na tuto jazykovou úpravu.

To bude nejspis chyba aktualizace zmen jazyka (T)Error Insight. Chapu ze to nekdo pouziva, ale je to jedna z prvnich moznosti IDE, jenz bych bez boje opustil a bez vahani vypnul.

Nainstaloval jsem čisté Delphi a vyzkoušel zmíněný kód. Takže je to default nastavení Delphi. Kde se to dá vypnout?


Tools / Options / do vyhledavani zadej error, vyber Error Insight,

Vyber Source file type - Pascal a odškrtni Error insight


Já myslím, že to budou adresovat v nějakém brzkém update, bylo to v plánu pro release, ale situace s managed records (http://blog.marcocantu.com/blog/2018-november-deferring-managed%20records.html) asi změnila priority.
« Poslední změna: 24-11-2018, 10:51:23 od Radek Červinka »
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2982
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #6 kdy: 24-11-2018, 10:46:06 »
...že si nejsou schopni ošetřit zásadní jazykovou novinku...

Protože je to tak zásadní novinka. Ono to nevypadá, ale to se projevuje prakticky všude, v různých příkazech (např. for) a v mnoha variantách.
Embarcadero MVP - Czech republic

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1062
  • Karma: 29
    • Verze Delphi: XE8, Sydney
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #7 kdy: 28-11-2018, 20:40:12 »
Excellent
Rated 1 time
Marco Cantu to dneska na předváděčce taky vypnul
:(

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1274
  • Karma: 51
    • Verze Delphi: 10.3
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #8 kdy: 28-11-2018, 21:06:47 »
Nejsou nějaké zákulisní informace, kdy vyjde první update 10.3.1? Jestli se vyplatí 10.3 instalovat, nebo radši počkat :-)

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1062
  • Karma: 29
    • Verze Delphi: XE8, Sydney
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #9 kdy: 28-11-2018, 23:06:30 »
Asi až odladí ty recordy

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1062
  • Karma: 29
    • Verze Delphi: XE8, Sydney
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #10 kdy: 28-11-2018, 23:07:11 »
Každopádně kompatibilita se staršími projekty dobrá

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2982
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #11 kdy: 28-11-2018, 23:22:35 »
Nejsou nějaké zákulisní informace, kdy vyjde první update 10.3.1? Jestli se vyplatí 10.3 instalovat, nebo radši počkat :-)

10.3.1 bude velký update, tipl bych s MacOSX64, podle roadmap http://imagizer.imageshack.us/a/img924/1513/VTlRCZ.png to vypadá na první polovinu roku 2019.

Chyby se stejně jako u tokya řeší hotfixy a kdy budou nevím, ale podle mne do konce roku určitě.

Citace
Asi až odladí ty recordy

Ani náhodou, 10.3.X je vždy binárně kompatibilní dcu (stejně jako u Tokyo), takže managed recordy pravděpodobně bohužel v 10.4.
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2982
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #12 kdy: 28-11-2018, 23:23:26 »
Marco Cantu to dneska na předváděčce taky vypnul
:(

a neřekl k tomu něco?
Embarcadero MVP - Czech republic

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3291
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #13 kdy: 29-11-2018, 06:58:17 »
Nejsou nějaké zákulisní informace, kdy vyjde první update 10.3.1? Jestli se vyplatí 10.3 instalovat, nebo radši počkat :-)
Pokud nejsi hracicka, ktera musi mit za kazdou cenu vsechno nove, tak za me se vzdycky vyplati pockat -> nikdy nepouzivame produkt, ktery dosud nevydal 1. update, stejne jako si nikdy neporizuju nove auto pred 1. faceliftem atd.  :)

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 1062
  • Karma: 29
    • Verze Delphi: XE8, Sydney
Re:10.3 Rio - Inline proměnné označuje za chybu
« Odpověď #14 kdy: 29-11-2018, 08:08:20 »
Marco Cantu to dneska na předváděčce taky vypnul
:(

a neřekl k tomu něco?

Jen to vyřešil :)