AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Virtual Treeview 5.0 - Unsupported 16bit resource in file
Thema durchsuchen
Ansicht
Themen-Optionen

Virtual Treeview 5.0 - Unsupported 16bit resource in file

Ein Thema von Perlsau · begonnen am 20. Jul 2012 · letzter Beitrag vom 9. Okt 2012
Antwort Antwort
Perlsau
(Gast)

n/a Beiträge
 
#1

Problem gelöst

  Alt 20. Jul 2012, 17:44
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
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Problem gelöst

  Alt 20. Jul 2012, 18:11
Pffffff ... das ist ja noch mal gutgegangen
Zu früh gefreut ... Jetzt kommt schon im Projekt-Quelltext ein Fehler:

Code:
Im Projekt ... ist eine Exception der Klasse EReadError mit der Meldung 'Ungültiger Eigenschaftswert' aufgetreten.
Ausgelöst wird er hier:

Application.CreateForm(TFormCode, FormCode); 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.

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:
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;
Dabei hab ich an meinen NodeDatasizes gar nichts verändert:

Delphi-Quellcode:
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);
Ebenso wenig wie an denn beiden entsprechenden Proceduren

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;
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

Problem jetzt wirklich gelöst

  Alt 20. Jul 2012, 18:18
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
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file

  Alt 21. Jul 2012, 07:12
Hallo,

die Meldung "unsupported 16-Bit-Ressource" kommt übrigens,
wenn man ein altes DFM (im Binärformat) vor sich hat.


Heiko
Heiko
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file

  Alt 21. Jul 2012, 07:42
[...] die Meldung "unsupported 16-Bit-Ressource" kommt übrigens, wenn man ein altes DFM (im Binärformat) vor sich hat.
Da muss es aber noch irgendeine Randbedingung geben. Ich habe es eben mit XE2 getestet und wenn ich eine binäre .DFM-Datei habe sowie die zugehörige .PAS-Datei habe, dann kann Delphi problemlos auf diesen Dateien arbeiten.

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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file

  Alt 21. Jul 2012, 10:51
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.
Also entweder die Datei ist defekt, oder bei ihm wurde eine problematische Eigenschaft gespeichert, welche bei dir nicht in der DFM steht.
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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file

  Alt 21. Jul 2012, 14:33
Also entweder die Datei ist defekt, oder bei ihm wurde eine problematische Eigenschaft gespeichert, welche bei dir nicht in der DFM steht. Eventuell (bestimmt) wurde ja irgendwas an der neueren Version verändert, was zwischen den Versionen nicht mehr kompatibel ist.
Das glaube ich auch: die neue Version ist wohl nicht ganz kompatibel mit der alten. Seltsamerweise funktionieren andere Projekte mit VST ohne Probleme.

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.
Du meinst beim Delphi-Treeview? Das hab ich noch nie verwendet ...
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: Virtual Treeview 5.0 - Unsupported 16bit resource in file

  Alt 21. Jul 2012, 14:29
Hallo, die Meldung "unsupported 16-Bit-Ressource" kommt übrigens,
wenn man ein altes DFM (im Binärformat) vor sich hat. Heiko
Wenn du mit "alt" sowas wie Delphi 2009 meinst, dann habe ich alte DFM-Dateien ... Das Projekt, an dem ich arbeite, ist neu: es wurde am 22.06.2012 von mir begonnen.

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 ...
  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 07:50 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