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
 
Perlsau
(Gast)

n/a Beiträge
 
#7

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
 


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 17:48 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