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

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5959
  • Karma: 43
    • Verze Delphi: W10 + D11
Chyba kompilátora
« kdy: 02-10-2021, 21:38:13 »
Stretol sa niekto s takým prípadom?
Na formulári je položený komponent, ale nie je citovaný v *.pas
Chyba sa prejavovala tak, že ak som dal kompiláciu, tak mi to skoro vždy skončilo na internej chybe.
Ale keď som dal build, tak to vždy zbehlo!!!
Chybu som objavil len náhodou. Neboli k tomu žiadne indície. A FixInsigth ešte pre 11 nie je. Neviem, či by mi to ukázal.
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ů: 2972
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Chyba kompilátora
« Odpověď #1 kdy: 03-10-2021, 07:56:59 »
Podle mne to spolu nesouvisí, kompilátor o DFM v podstate neví. Co to bylo za chybu - jako kod chyby?
Embarcadero MVP - Czech republic

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5959
  • Karma: 43
    • Verze Delphi: W10 + D11
Re:Chyba kompilátora
« Odpověď #2 kdy: 03-10-2021, 10:08:23 »
Hm, teraz som zapoznákoval jeden komponent. Pri kompilácii som dostal: [dcc32 Error] prnAddress.pas(84): E2003 Undeclared identifier: 'ofchgrNewPage_ptNewPage'. Tak som si to predstavoval.
Takže do pôvodného stavu sa neviem dostať. Neviem ako sa mi to podarilo. Kód chyby samozrejme neviem. Do DFM zásadne nechodím.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3285
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Chyba kompilátora
« Odpověď #3 kdy: 03-10-2021, 11:56:01 »
Klasika ;-)

A nevzniklo to napr. tak, ze jsi omylem z .pas vyhodil tu deklaraci komponenty, nedal jsi save a zkousel to prekladat nebo tak neco?

Doporucil bych pri vyskytu takove duchariny chcipnout Delphi a z VCS spustit command Check for modifications, abys videl, co jsi kde posr*l...

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5959
  • Karma: 43
    • Verze Delphi: W10 + D11
Re:Chyba kompilátora
« Odpověď #4 kdy: 03-10-2021, 13:25:10 »
Ide o niečo také. Premenovával som komponenty. Samozrejme, že som urobil pár kiksov.
Pri jednom(?) formulári som dostával oznam o neexistujúcom komponente a či chcem odstrániť deklaráciu. Časom som deklaráciu odstránil. Lebo mi to už vadilo.
.
Čo vlastne znamená VCS? Ja som našiel iba "Skratka učebného predmetu Výroba čistých a špeciálnych chemikálií" ;D  Často sa to objavuje a ja som si len nepriamo vydedukoval: Visual C Studio. Ja okrem Delphi nemám nič iné.
.
Už to mám v poriadku. Len som nevedel prečo ma na to kompilátor neupozornil.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Jirka

  • Hrdina
  • ****
  • Příspěvků: 431
  • Karma: 9
    • Verze Delphi: XE2
Re:Chyba kompilátora
« Odpověď #5 kdy: 03-10-2021, 14:20:47 »

Čo vlastne znamená VCS? Ja som našiel iba "Skratka učebného predmetu Výroba čistých a špeciálnych chemikálií" ;D  Často sa to objavuje a ja som si len nepriamo vydedukoval: Visual C Studio. Ja okrem Delphi nemám nič iné.
https://delphi.cz/post/spravce-zdrojaku.aspx

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5959
  • Karma: 43
    • Verze Delphi: W10 + D11
Re:Chyba kompilátora
« Odpověď #6 kdy: 03-10-2021, 14:39:19 »
Aha. Ja používam GIT. K tomu tam veľmi zmienka nie je, ale článok je starý 10 rokov. Na porovnávanie súborov som si nainštaloval Merge (Win?). No netuším, či som ho niekedy v praxi použil. To skôr použijem PSPad.
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ů: 2972
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Chyba kompilátora
« Odpověď #7 kdy: 03-10-2021, 19:05:54 »
Aha. Ja používam GIT. K tomu tam veľmi zmienka nie je, ale článok je starý 10 rokov. Na porovnávanie súborov som si nainštaloval Merge (Win?). No netuším, či som ho niekedy v praxi použil. To skôr použijem PSPad.

On tim myslel, ze se podivas na zmeny v pas a dfm proti posledni verzi.
Embarcadero MVP - Czech republic

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5959
  • Karma: 43
    • Verze Delphi: W10 + D11
Re:Chyba kompilátora
« Odpověď #8 kdy: 03-10-2021, 19:18:41 »
Citace
On tim myslel, ze se podivas na zmeny v pas a dfm proti posledni verzi.
:)  Ale ja neviem kedy presne a kde som to sekol. To by bol beh na dlhú trať.
Ďakujem všetkým za príspevky.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3285
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Chyba kompilátora
« Odpověď #9 kdy: 03-10-2021, 22:57:45 »
Ale ja neviem kedy presne a kde som to sekol. To by bol beh na dlhú trať.
VCS = Version Control Systems => pak ten VCS pouzivas nevhodnym zpusobem.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5959
  • Karma: 43
    • Verze Delphi: W10 + D11
Re:Chyba kompilátora
« Odpověď #10 kdy: 04-10-2021, 09:16:57 »
Ja ho používam v podstate ako lepší pakovací program. Občas si skopírujem nejakú staršiu verziu súboru. To je tak všetko ;)  Viem, že toho ponúka podstatne viac.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5959
  • Karma: 43
    • Verze Delphi: W10 + D11
Re:Chyba kompilátora
« Odpověď #11 kdy: 04-10-2021, 16:32:27 »
Aj teraz mi vyhadzuje chybu. Aj keď podstatne menej.
Citace
[dcc32 Fatal Error] Room.pas(77): F2084 Internal Error: AV112E241E(11270000)-R000001CC-0
Kód: Delphi [Vybrat]
  1.     constructor Create(const AParentPanel, AEditPanel: TjstAdvPanel; const ADataSource: TDataSource); override;
  2.  
  3.     constructor CreateForm(const AForm: TBasalForm; const ADataSource: TDataSource; AParentPanel, AEditPanel:
  4.       TjstAdvPanel);
  5.     destructor Destroy; override;
  6.     procedure CancelRecord; override;
  7.     function DataOK: Boolean; override;
  8.     procedure DeleteRecord(const AAutoCommit: Boolean); override;
  9.     procedure EditRecord; override;
  10.     procedure FillcbbAcronym;
  11.     procedure FillVst; override;
  12.     procedure GetTableData(const ANodeData: PTableData); override;
  13.     function InsertRecord: Boolean; override;
  14.     procedure SetCtrls; override;
  15.     property oSideTree: TVstAsTree  read FoSideTree write FoSideTree;
  16.   end;
  17.  
  18. implementation
  19.  
  20. uses
  21.   GlobalVar, FDFunction, BasicFunctions, subRoom;
  22.  
  23. { TFlatArea }
  24.  
  25. constructor TFlatArea.Create(const AParentPanel, AEditPanel: TjstAdvPanel; const ADataSource: TDataSource);
Je to na poslednom riadku (25)
Našiel som:
.
Toto chybové hlásenie naznačuje, že kompilátor zaznamenal inú chybu ako chybu syntaxe, ktorú nemôže úspešne spracovať. Niekedy je to chyba, pretože spotreba pamäte v čase kompilácie sa blíži k limitu IDE počas zostavovania. V tomto prípade je riešením nastaviť Projekt> Možnosti ...> Kompilátor Delphi > Externe použiť MSBuild na kompiláciu na hodnotu true.Poznámka : Voľba „Použiť externe MSBuild na kompiláciu“ na stránke kompilátora Delphi umožňuje postaviť projekt mimo IDE pomocou MSBuild .Informácie za "Internou chybou" obsahujú jeden alebo viac znakov, za ktorými bezprostredne nasleduje číslo, ktoré označuje číslo súboru a riadka v samotnom kompilátore, kde došlo k chybe. Aj keď vám tieto informácie nemusia pomôcť, môžu nám (Embarcadero) pomôcť pri pátraní po probléme, ak a kedy chybu nahlásite. Nezabudnite si tieto informácie zapísať a zahrnúť ich do popisu vnútornej chyby.
« Poslední změna: 04-10-2021, 16:36:17 od Stanislav Hruška »
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Slappy

  • Plnoletý
  • ***
  • Příspěvků: 249
  • Karma: 12
  • Slappy
    • Verze Delphi: 11 Alexandria + Vsetky :)
    • unSigned
Re:Chyba kompilátora
« Odpověď #12 kdy: 04-10-2021, 18:36:23 »
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...
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 Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5959
  • Karma: 43
    • Verze Delphi: W10 + D11
Re:Chyba kompilátora
« Odpověď #13 kdy: 04-10-2021, 21:39:53 »
Čiastočne mi pomohla prvá rada: vymazať dcu. Mne stačí pustiť build a idem ďalej.
Písali tam aj o použití MSBuild. Ja do toho nejdem :)
Je zaujímavé, že som to predtým nemal.
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ů: 2972
  • Karma: 108
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Chyba kompilátora
« Odpověď #14 kdy: 04-10-2021, 23:45:04 »
F2084 Internal Error: AV112E241E(11270000)-R000001CC-0

Znamena Access Violation na te adrese, a ta dalsi je faze kompilace - bohuzel ted nemuzu najit vyklad a to jsem ho mel ulozen. Veril jsem ze posledni path na 10.4.2 tento problém (způsobený budto kruhovými referencemi nebo pripletenymi jinymi dcu v ceste) vyresil.

Mas 10.4.2 nebo D11? V pripade prvního zkontroluj prosim verzi "c:\Program Files (x86)\Embarcadero\Studio\21.0\bin\dcc32.exe", po aplikaci patche by měla být 27.0.41310.5003 nebo novější.
Embarcadero MVP - Czech republic