Czy ktoś wie, co oznacza ten błąd?Delphi: F2084 Błąd wewnętrzny T2575
To przychodzi i odchodzi w jednym z moich oddziałów. Dodawanie spacji lub lineshift będzie kiedyś rozwiązać, a nie kiedyś ...
używam Delphi 2007.
Czy ktoś wie, co oznacza ten błąd?Delphi: F2084 Błąd wewnętrzny T2575
To przychodzi i odchodzi w jednym z moich oddziałów. Dodawanie spacji lub lineshift będzie kiedyś rozwiązać, a nie kiedyś ...
używam Delphi 2007.
Oto Delphi internal error guide która może pomóc. Błąd wewnętrzny często można rozwiązać, usuwając pliki DCU, restartując IDE lub nie używając narzędzia, które przyspiesza start Delphi (jak DelphiSpeedUp).
Ale w większości przypadków jest to jakiś dziwny błąd w kompilatorze Delphi i jeśli wiesz, że chcesz go obejść, a to nie będzie kosztowne, zrób to i bądź szczęśliwy. Miałem kiedyś awarię konsoli dcc32 (IDE skompilował się dobrze), gdy zwiększyłem zmienną za pomocą Inc i użycie dodatku zamiast Inc rozwiązało problem ...
Nie wątpię, że pomaga w niektórych przypadkach, ale "* Błąd wewnętrzny często można rozwiązać poprzez usunięcie plików DCU, ponowne uruchomienie IDE *" - brzmi bardzo podobnie "* ponownie zainstalować system Windows * "i" * zadzwoń do egzorcysty * "może być następnymi dwoma wskazówkami ;-) – JensG
Wewnętrzny przewodnik błędu podaje wewnętrzny błąd :-) – nurettin
@nurettin: Dzięki za zgłoszenie, naprawione przez Wayback Machine :) – schnaader
Najlepiej zrobić to zgłosić to firmie CodeGear. To naprawdę pomaga, jeśli możesz znaleźć sposób na konsekwentne powodowanie błędu, aby łatwiej go było wyśledzić.
Wszystkie błędy wewnętrzne to rzeczy, które nie powinny się wydarzyć, ale zrobiły. Sprawdź QC, a jeśli go nie ma, zgłoś to. Jeśli możesz podać sposób jego odtworzenia, to będzie bardziej prawdopodobne, że go naprawią.
Zwykle dla wewnętrznych błędów Wykonuję pełną kompilację lub restartuję Delphi.
mam ten błąd w jednym przypadku:
procedure TDMData.SetValue(AValue: Word);
var
prevValue: Word;
method: TMethod;
begin
if FValue = AValue then
Exit;
prevValue := FValue;
FValue := AValue;
for method in FValueChangeEvent.Notifications do
TDMDataValueChangeNotification(method)(Self, AValue, prevValue);
end; // <--- Fatal: F2084 Internal Error: T2575
Zarówno nieruchomość GetNotifications Powiadomienia i metoda GetEnumerator rekordu zwróconego przez GetNotifications miał dyrektywy inline. Tylko przez usunięcie inline z GetEnumerator problem zniknął.
Uwaga: podobne funkcje nie powodowały tego błędu wewnętrznego!
Też miałem ten problem, i testowałem wiele rozwiązań, ale żaden z nich mi nie pomógł. następnie znalazłem tę przyczynę błędu: w występującej błędzie funkcji, miałem funkcję Inc(), która próbowała dodać zmienną String !! Naprawiłem błąd i wszystko wróciło do normy :)
Jednym z prostych sposobów uzyskania błędu wewnętrznego jest użycie wycinanej pasty & w celu utworzenia nowej procedury. Przesunąłem cały kod w bloku IF do nowej procedury i otrzymałem błąd wewnętrzny T2335 na końcu nowej procedury (w Delphi 7).
Błąd został spowodowany przez linię "If (Something) then Break;". Problem polegał na tym, że ten kod nie był już w pętli, więc nie było z czego się zerwać. Zmiana "Przerwa" na "Wyjście" rozwiązała problem.
Poszukaj instrukcji Przerwij i Kontynuuj.
miałem inny przypadek dzisiaj (D2010), wszystko składni doskonale prawny od dobrej ol”Turbo Pascal dniach:
type
TValueRec = record
selector : (int,str,unk);
intVal : Integer;
strVal : WideString;
unkVal : IUnknown;
end;
Korzystanie ten rekord w metodzie klasy generyczne opartym przyniósł mi„F2084 wewnętrzny błąd: AV0661CFEF-R0000000C-0 "gdzieś w środku innej jednostki.
Zmiana to w ten sposób nie trick dla mnie:
type
TValueRecSelector = (int,str,unk);
TValueRec = record
selector : TValueRecSelector;
intVal : Integer;
strVal : WideString;
unkVal : IUnknown;
end;
jednak bardzo denerwujące, że takie rzeczy produkują takie błędy w zupełnie niepowiązanych miejsc w kodzie.
Proszę podać informacje o wersji Delphi – schnaader