pavel411 Programování Mosaic 20. 5. 2022 11:25 20. 5. 2022 11:52

aktualizoval jsem Mosaic i knihovny a udělal následně v programu drobnou úpravu (jiné přiřazení tlačítek), při překladu mi pro všechny použité bloky z iControlLib (fb_iLight a fb_iJalousie) vypisuje chybu např. 

[CFC:Chyba] ZALUZIE.CFC (1259: Rozhraní bloku se změnilo.

V programu změna nebyla, Mosaic má nyní verzi 2022.1 Upd1 Fix1 a knihovna iControlLib v3.1(20220420). Na disku (nikoliv viditelná v rozhraní Mosaicu) je i předchozí verze 3.0 (20210712) 

pokud obě knihovny otevřu, tak v deklarační části iLight je name deklarované jinak u verze 3.1:

   name {PUBLIC_IFOX=GTSAP1_LIGHT_name} : string [48];  (*`{ENG} name of light              {CSY} název světla*)

a jinak u verze 3.0:

   name             : string [24];  (*`{ENG} name of light              {CSY} název světla*)

 

předpokládám, že tedy řve kvůli změněné délce stringu - co se s tím dá dělat? Nechce se mi předefinovávat všechny funkce 

 

 

Odpovědi 1

M.B. 20. 5. 2022 11:52

Omlováme se za způsobené potíže. Editor CFC se v tomto případě chová zbytečně striktně a nutí uživatele všechny bloky, kde se změnila délka STRINGu v rozhraní, ručně aktualizovat.

V aktuální verzi prostředí je nejrychlejším řešením návrat k původní verzi knihovny (knihovna se Vám v průzkumníku knihoven nabídne pokud zatrhnete volbu Zobrazit všechny verze). Jinak by bylo nutné všechny místa, kde jsou dotknuté bloky použity, projít a dvojklikem na blok a potvrzením dialogu jejich instance aktualizovat.

V nové verzi prostředí, která se nyní připravuje, již tento stav nebude detekován jako chyba a aktualizace proběhne automaticky.

Vaše odpověď

Pro vložení odpovědi je nezbytné být přihlášený. Pokračujte na přihlášení.