![]() |
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. |
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Zitat:
Eventuell (bestimmt) wurde ja irgendwas an der neueren Version verändert, was zwischen den Versionen nicht mehr kompatibel ist. PS: Das gab es auch beim notmalen TreeView, wenn man dort im FormDesigner Einträge/Items erzeugt hatte, wo sich z.B. bei der Unicodeumstellung die binäre Entspechung der Strings veränderte. |
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Zitat:
Vielmehr denke ich, daß das neue VirtualTreeView mit den alten Komponenten nicht arbeiten kann. Seltsamerweise habe ich hier noch ein Projekt, ungefähr einen Monat älter, das nach dem Update auf VST 5.0 keine Schwierigkeiten machte ... Egal, jetzt muß ich weiterarbeiten ... |
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Zitat:
Zitat:
|
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Der Fehler wird durch die Eigenschaft Header.Style verursacht.
Delphi-Quellcode:
Header.Style = hsXPStyle
Der bisher unterstützte Eigenschaftswert hsXPStyle wurde entfernt, wodurch .dfm-Dateien mit diesem Wert ungültig werden. Am einfachsten ist es, alle entsprechenden Zeilen aus der .dfm-Datei zu löschen. |
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Zitat:
Hab ich mir in meiner Codesammlung notiert ... |
AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file
Zitat:
Aber XP- wird nun nicht mehr unterstützt. Ich habe alle VST in allen Anwendungen angepasst, und danach funktionierte alles wieder. Auch wurde ja in der Version 5.00 Celltext von WideString auf String zurückgefürt. Dies müsste bei den VST doch auch noch zu Fehlermeldungen führen. Ich habe alle WideString mit GSExpert in String überführt. Aber sehr wahrscheinlich bin ein bisschen zu spät mit meinen Erfahrungen mit dem VST, und Du hast es bestens gelöst. Mit Gruß HPB |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 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