AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Interner Fehler: C1264

Ein Thema von Bjoerk · begonnen am 27. Nov 2013 · letzter Beitrag vom 28. Nov 2013
Antwort Antwort
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#1

Interner Fehler: C1264

  Alt 27. Nov 2013, 20:58
Ich hab einem Record ein Event spendieren wollen. Da bekomme ich jetzt plötzlich folgenden Fehler ***:

[DCC Fehler] uMaterial.pas(343): F2084 Interner Fehler: C1264
Was kann man denn da machen (Ich hab von "früher" halt viele Records)?

Delphi-Quellcode:
  TMaterialItemChanged = procedure of object;

  TMaterialItem = record // Methoden nicht für property TMaterial Items;
  private
    FE: double;
    FG: double;
    FGM: double;
    FAlphaT: double;
    FFyk: double;
    FName: string;
    FOnMaterialItemChanged: TMaterialItemChanged;
    function GetGM(Querdehnzahl: double): double;
    procedure SetGM(const Value: double);
  public
    procedure Clear;
    procedure Assign(const Value: TMaterialOldItem);
    procedure LoadUserMatFromFile(Index: TMaterialType);
    procedure SaveUserMatToFile(Index: TMaterialType);
    property E: double read FE write FE;
    property G: double read FG write FG;
    property GM: double read FGM write SetGM;
    property AlphaT: double read FAlphaT write FAlphaT;
    property Fyk: double read FFyk write FFyk;
    property Name: string read FName write FName;
    property OnMaterialItemChanged: TMaterialItemChanged
      read FOnMaterialItemChanged write FOnMaterialItemChanged;
  end;

  TMaterial = record
  private
    FItems: array [TMaterialType] of TMaterialItem;
    function GetItem(Index: TMaterialType): TMaterialItem;
    function GetItemNmm2(Index: TMaterialType): TMaterialItem;
    procedure Clear;
    procedure MaterialItemChanged;
    function GetArt(Index: TMaterialType): string;
  public
    procedure Init(Querdehnzahl: double = 0);
    function IndexOf(const Value: string): TMaterialType;
    property Art[Index: TMaterialType]: string read GetArt;
    property Items[Index: TMaterialType]: TMaterialItem read GetItem; default; // kN/m2;
    property ItemsNmm2[Index: TMaterialType]: TMaterialItem read GetItemNmm2;
  end;


procedure TMaterial.Clear;
var
  I: TMaterialType;
begin
  for I := mt_None to mt_BSt550B do
  begin
    FItems[I].Clear;
    FItems[I].OnMaterialItemChanged := MaterialItemChanged;
  end;
end; // ***
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#2

AW: Interner Fehler: C1264

  Alt 27. Nov 2013, 21:04
Und wieso keine Klasse?
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Interner Fehler: C1264

  Alt 27. Nov 2013, 21:27
[DCC Fehler] uMaterial.pas(343): F2084 Interner Fehler: C1264
uMaterial.pas(343) bedeutet, dass der Fehler in Unit uMaterial Zeile 343 auftrat. Was steht denn in Zeile 343?
Michael Justin
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Interner Fehler: C1264

  Alt 27. Nov 2013, 21:40
Dieses end; ***
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#5

AW: Interner Fehler: C1264

  Alt 27. Nov 2013, 21:50
Was kann man denn da machen?
Dich an den Support wenden und hoffen die behenben den "Bug",
oder vielleicht gibt es schon ein Update (sind denn alle Eingespiel, bzw. geht es, wenn du ein Update weglässt?) oder ein Hotfix dafür.

Denn da es sich hier um einen "Fehler" im Compiler handelt, kannst du da garnichts machen,
außer den Code umzubauen.

Manchmal reicht es aber schon aus, wenn man in dem Code davor eine Variable/Konstante/Type umbenennt, ein Leerzeichen/Leerzeile in den Code reinmacht,
die Reihenvolge der Funktionen, bzw. deren Deklarationen verändert, damit der Compiler die fehlerhafte Stelle (in seinem eigenen Programmcode) nicht trifft und es urplötzlich wieder funktioniert.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (27. Nov 2013 um 21:52 Uhr)
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Interner Fehler: C1264

  Alt 27. Nov 2013, 22:15
OK. Dann lass ich das Event doch lieber weg und übergeb' ggf. die ganze Liste statt nur eines Items.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Interner Fehler: C1264

  Alt 27. Nov 2013, 22:40
Du kannst statt record object nehmen:
Delphi-Quellcode:
TMaterialItem = object
  ...
Dann müsste das mit dem Event gehen.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#8

AW: Interner Fehler: C1264

  Alt 28. Nov 2013, 01:44
Das könnte imho diesem Fehler entsprechen: QC59807; vielleicht funktioniert der angegebene Workaround
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz