Autor Téma: Chyba kompilátora  (Přečteno 790 krát)

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6043
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Chyba kompilátora
« Odpověď #15 kdy: 05-10-2021, 08:58:57 »
Mám D11. Už som túto informáciu opravil.
Kruhové referencie nemám. To by mi hlásilo. Mám len jediný projekt a všetko mám v jeho adresári. A pripletené dcu takisto nemám.
Keď zoberieme do úvahy Slappiho príspevok, tak asi nemám žiadne možnosti s tým niečo urobiť. Keď s tým on nič neurobil, tak ja duplom.
.
Až teraz som si uvedomil, že to čo som hľadal a písal, patrilo k chybám typu X123. Teraz to je niečo iné

W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3292
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Chyba kompilátora
« Odpověď #16 kdy: 05-10-2021, 09:44:56 »
Kruhové referencie nemám. To by mi hlásilo.
Ano, ale to plati jen pro zavislosti mezi deklaracemi - ty neni mozne vyresit.

Ale jestlize se ti opakovane objevuje stav, kdy prosty preklad zmenenych unit nedokaze prelozit a sestavit vysledny .exe, ale build to vzdy vyresi bez problemu, tak to znamena, ze tam mas komplikovane cyklicke vazby mezi unit (v implementaci) a je to priznakem ne prilis cisteho navrhu aplikace.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6043
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Chyba kompilátora
« Odpověď #17 kdy: 05-10-2021, 11:19:05 »
Citace
Ano, ale to plati jen pro zavislosti mezi deklaracemi - ty neni mozne vyresit.
Tejto vete nerozumiem. Prvá a druhá časť si z môjho pohľadu logicky protirečia. Neviem čo máš na mysli "zavislosti mezi deklaracemi". Predpokladám vlastné triedy.
Kompilácia mi najprv niekoľko krát normálne zbehne. Potom zahlási AV. Urobím  build a tak sa to opakuje.
Preverím to čo si napísal.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3292
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Chyba kompilátora
« Odpověď #18 kdy: 05-10-2021, 21:13:20 »
Prvá a druhá časť si z môjho pohľadu logicky protirečia.
Ne, jedna se o zcela odlisne zalezitosti. Prvni je deklarace (public) typu, ktera nemuze byt zavisla sama na sobe. To jsou ty cyklicke reference, se kterymi te vykope prekladac. Tyka se sekce Interface v unitach.

Druha se vztahuje na pouziti typu tj. cyklicke zavislosti pres implementation. Typicky priklad mizerneho navrhu je, kdyz se v ProjectA.MainFormA odkazujes na FormA (to je OK) a zaroven v ProjectA.FormA se odkazujes na MainFormA a to je spatne.
Samozrejme se muze jednat o dlouhe cyklicke vazby, ty delavali vzdycky prekladaci nejake problemy.

Ale treba tam nic takoveho nemas a jen ten novy Delphi je zase o trochu vic fucked-up, nez ten predchozi, jak psal Slappy. Me posledni Tokyo delavalo jen to, ze po nejake dobe prace s nim vyhodilo AV a musel jsem chcipnout Delphi, nekdy i restartovat PC.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6043
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Chyba kompilátora
« Odpověď #19 kdy: 05-10-2021, 21:34:39 »
Vďaka za vysvetlenie. O týchto cyklických referenciách Interface  a implementation viem. Prekladač ma na to vždy upozorní. No mám naozaj jednoduché závislosti.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

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:Chyba kompilátora
« Odpověď #20 kdy: 06-10-2021, 06:58:33 »
Takychto internal errorov mam v podstate kopu kazdy den.

Bohuzial je to problem IDE a nic ine ako restart IDE nepomoze.

Pri mensich projektoch by este pomohlo zavriet cely projekt a otvorit projektnanovo, ale niekedy je restart IDE rychlejsi...


@Slappy - to mluvis o poslednich Delphi, nebo o tom jak to prekladas ve vsech Delphi co podporujes? Neprijde mi ze by s posledni verzi (resp. 10.4.2 + patch) se ty chyby projevovali vyjma u Standy. Vim ze se k vuli tomu aby se ten problem s kruhouvou referenci (pry vznikl nekdy kolem XE2) odstranil hledalo neco kde se to simulovat a byl kolem toho fakt velky srumec, tak mne zajima zda to co pises se tyka i posledni verze.
Embarcadero MVP - Czech republic

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6043
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:Chyba kompilátora
« Odpověď #21 kdy: 06-10-2021, 08:21:30 »
Ja som sa bavil iba o D11. Inú verziu nemám inštalovanú.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Slappy

  • Hrdina
  • ****
  • Příspěvků: 251
  • Karma: 12
  • Slappy
    • Verze Delphi: 11 Alexandria + Vsetky :)
    • unSigned
Re:Chyba kompilátora
« Odpověď #22 kdy: 06-10-2021, 08:42:45 »
@Slappy - to mluvis o poslednich Delphi, nebo o tom jak to prekladas ve vsech Delphi co podporujes? Neprijde mi ze by s posledni verzi (resp. 10.4.2 + patch) se ty chyby projevovali vyjma u Standy. Vim ze se k vuli tomu aby se ten problem s kruhouvou referenci (pry vznikl nekdy kolem XE2) odstranil hledalo neco kde se to simulovat a byl kolem toho fakt velky srumec, tak mne zajima zda to co pises se tyka i posledni verze.

@Radek, Robi to vo vsetkych verziach, aj v starych aj v novych aj v 11. Mam podozrenie, ze to sposobuje pouzitie OpenToolsAPI.pas, ale tazko to nejak overit, neda sa ten projekt nejak rozumne osekat na reprodukovatelny example.

Jednoducho ked nacitam projekt nanovo tak IDE kompiluje bez chyby a po nejakom case zacne vznikat Internal Error. Je potrebne dat zavriet projekt a nacitat nanovo, Clean + Build a uz to zase urcitu dobu funguje.


Inak som mal vzdy problem ked som mal nainstalovanych viacero IDE (napr XE + XE2+XE3) na 1 PC. Myslel som, ze ci to nesuvisi s tym, ale Delphi 11 mam nainstalovane samostatne (Win 10) a prejavuje sa to aj tam.


Nakoniec som to vyriesil tak, ze programujem uz len v D11 a jednotlive verzie vzdy len prekompilujem (XE, XE2, XE3...). Samozrejme nemozem pouzivat nove featurky, pretoze tie by nesli v starsich verzia Delphi.
Ale to je uz trochu OT...
Moje projekty: http://www.unsigned.sk Tvorba cool dizajnovych instalatorov v NSIS a Inno Setup. Rozsirenie pre Visual Studio a RAD Studio pre tvorbu NSIS a Inno Setup instalatorov.

Offline Daniel_Andrascik

  • Guru
  • *****
  • Příspěvků: 502
  • Karma: 20
    • Verze Delphi: D2007, D10.4
Re:Chyba kompilátora
« Odpověď #23 kdy: 09-10-2021, 21:27:06 »

@Slappy - to mluvis o poslednich Delphi, nebo o tom jak to prekladas ve vsech Delphi co podporujes? Neprijde mi ze by s posledni verzi (resp. 10.4.2 + patch) se ty chyby projevovali vyjma u Standy. Vim ze se k vuli tomu aby se ten problem s kruhouvou referenci (pry vznikl nekdy kolem XE2) odstranil hledalo neco kde se to simulovat a byl kolem toho fakt velky srumec, tak mne zajima zda to co pises se tyka i posledni verze.

Akurat posledne dva dni dostavam sem tam internal errory na D10.4.2+patchs (asi prvykrat odkedy pouzivam D10.4.2 ale ja nepracujem v delphi denne, len obcas a moje projekty nie su moc velke) ale v podstate dost masivne refaktorujem jeden moj stary projekt s tym ze vyhadzujem niektore obsolete "third party libraries" a nahradzujem novymi dost velkymi ako napriklad mORMot a podobne. A kym to vsetko ucesem, tak sa to asi trocha kuse...