![]() |
Virtual Treeview 5.0 - Unsupported 16bit resource in file
Schönen Tag allerseits,
vielleicht sollte man ja mitten in einem Projekt nicht diverse Komponenten updaten, aber ich hab's gemacht und meinen alten TreeView auf die im Titel genannte Version aktualisiert. Installation war kein Problem, aber beim Versuch, mein Projekt zu kompilieren, kommt dieser Fehler: [DCC Fehler] E2161 Error: RLINK32: Unsupported 16bit resource in file "D:\...\UnitCode.dfm" Ich hab keine Ahnung, was das bedeuten soll. Oder vielleicht doch eine dunkle Ahnung: Könnte es sein, daß ich die (alte) TreeView-Komponente aus meiner Form rausschmeißen und durch die neue ersetzen muß? |
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Die Form einmal öffnen in Delphi sollte abhelfen.
|
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Zitat:
Fehler beim Erzeugen von Formular: ''='' erwartet in Zeile 9538. Hier ist wohl die UnitCode.dfm gemeint, denn die UnitCode.pas hat nur etwas über 1100 Zeilen. In Zeile 9538 der UnitCode.dfm steht aber nur folgendes:
Delphi-Quellcode:
Wobei die #-Zeichen wohl chr(10) bzw. chr(13) sind (dargestellt im PSpad als leere Quadrate).
Header.Style = seVirtualTree##TargetCanvas#TCanvas##Node#PVirtualNode#
Muß ich jetzt mein komplettes Formular neu designen? |
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Zitat:
|
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Zitat:
|
Problem gelöst
Ich habe jetzt einfach so lange aus der History frühere DFM-Dateien zurückkopiert, bis der zweite Fehler verschwunden war. Der erste Fehler tritt nun auch nicht mehr auf. Pffffff ... das ist ja noch mal gutgegangen :lol:
|
AW: Problem gelöst
Zitat:
Code:
Ausgelöst wird er hier:
Im Projekt ... ist eine Exception der Klasse EReadError mit der Meldung 'Ungültiger Eigenschaftswert' aufgetreten.
Delphi-Quellcode:
Behoben hab ich diesen Fehler, indem ich – wie anfangs geahnt – die VST-Komponente neu aufs Form gepflanzt und alle benötigten Einstellungen wieder hergestellt habe.
Application.CreateForm(TFormCode, FormCode);
Doch damit der Friede noch nicht wieder hergestellt. Nun hab ich einen Laufzeitfehler: Im Projekt PCH_PROCODE.exe ist eine Exception der Klasse EAssertionFailed mit der Meldung 'NodeDataSize not initialized. (D:\Programme\Coding\RAD Studio\6.0\lib\Virtual Treeview\Source\VirtualTrees.pas, Zeile 29472)' aufgetreten. Ausgelöst wird die Exception beim Versuch, das erste Mal GetData aufzurufen:
Delphi-Quellcode:
Dabei hab ich an meinen NodeDatasizes gar nichts verändert:
procedure TFormCode.Einlesen_Sprachen;
VAR Data : PNodeData; Node : PVirtualNode; Anzahl, Index : Integer; Sprache : String; Expandiert : Boolean; begin DatMod.Dset_Sprache.First; VST.Clear; VST.BeginUpdate; WHILE NOT DatMod.Dset_Sprache.Eof DO BEGIN Index := DatMod.Dset_Sprache.FieldByName('IDX_CODESPRACHE').AsInteger; Anzahl := DatMod.Dset_Sprache.FieldByName('ANZAHL_CODE').AsInteger; Sprache := DatMod.Dset_Sprache.FieldByName('SPRACHE').AsString; Expandiert := DatMod.Dset_Sprache.FieldByName('EXPANDIERT').AsBoolean; Node := VST.AddChild(VST.RootNode); Data := VST.GetNodeData(Node); // hier knallt's Data.Index := Index; Data.Eltern := 0; Data.Titel := Sprache; Data.Anzahl := Anzahl; VST.Expanded[Node] := Expandiert; DatMod.Dset_Sprache.Next; END; VST.EndUpdate; end;
Delphi-Quellcode:
Ebenso wenig wie an denn beiden entsprechenden Proceduren
unit UnitCode;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, ... ; TYPE PNodeData = ^TNodeData; TNodeData = RECORD Titel : String; Eltern : Integer; Index : Integer; Anzahl : Integer; END; CONST SizeNodeData = SizeOf(TNodeData);
Delphi-Quellcode:
procedure TFormCode.VSTGetNodeDataSize(Sender: TBaseVirtualTree; var NodeDataSize: Integer);
begin NodeDataSize := SizeNodeData; end; procedure TFormCode.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: string); VAR Data : PNodeData; begin Data := Sender.GetNodeData(Node); CASE Column OF 0 : CellText := Data.Titel; 1 : IF Data.Anzahl > 0 THEN CellText := IntToStr(Data.Anzahl) ELSE CellText := ''; END; end; |
Problem jetzt wirklich gelöst
Achja, ich glaub, ich mach gleich mal beim Thread übers Altwerden mit :?
Kein Wunder, daß diese Fehlermeldung kam, hatte ich doch komplett übersehen, die Ereignisse im "neuen" VST wieder einzutragen. Nachdem ich das nachgeholt hab, funktioniert wieder alles :-D |
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Hallo,
die Meldung "unsupported 16-Bit-Ressource" kommt übrigens, wenn man ein altes DFM (im Binärformat) vor sich hat. Heiko |
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Zitat:
Den eingangs genannten Fehler erhalte ich meist dann, wenn die DFM-Datei nicht in Ordnung ist und - wie auch oben im Beispiel gezeigt - Werte und Eigenschaften zusammengepresst werden, die nie nimmer nicht zusammengehören und auch nicht zusammenpassen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz