AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem mit neuen Nodes in QuantumTreelist

Problem mit neuen Nodes in QuantumTreelist

Ein Thema von Corristo · begonnen am 21. Jul 2008 · letzter Beitrag vom 21. Jul 2008
Antwort Antwort
Corristo

Registriert seit: 16. Jul 2008
4 Beiträge
 
#1

Problem mit neuen Nodes in QuantumTreelist

  Alt 21. Jul 2008, 11:35
Datenbank: Access • Version: 2002/2003 • Zugriff über: ADO
Guten Morgen,

Ich benutze eine cxDbTreelist-Komponente um eine Access-Datenbank strukturiert darzustellen. Die Aufgabe erfordert nun das auch neue Nodes im laufenden Programm erzeugt werden können. Aus der beiliegenden Demo werde ich nicht schlau. Wenn ich eine neue Node erzeuge mit dem Programm text den ich bereits habe erscheint folgender Fehler:

Im Projekt PPlaner.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 00412F21 in Modul 'PPlaner.exe'. Lesen von Adresse 00000058' aufgetreten.

Delphi-Quellcode:
Procedure Tform1.InsertNode(ParentId: Integer);
Var Feld : TField;
    Dataset : TDataset;
begin
  Dataset := cxDbtreelist1.DataController.DataSet;
  dataset.DisableControls;
   try
   Feld := Dataset.FindField(cxdbTreelist1.datacontroller.ParentField);
   if Assigned(Feld) then
     begin
      Dataset.Insert;
      Feld.Value := ParentID;
     end;
   finally
    Dataset.EnableControls;
   end;
end;
Delphi-Quellcode:
procedure TForm1.NeueAufgabe1Click(Sender: TObject);
begin
 InsertNode (FHitnode.ParentValue);
end;
Was habe ich vergessen/übersehen? Werde seit einer Stunde nicht schlauer.
Grüße Christian
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Problem mit neuen Nodes in QuantumTreelist

  Alt 21. Jul 2008, 12:22
Hi,

ich füge Datensätze wie folgt ein:

Delphi-Quellcode:
...
// Ereignis der Treelist
TreeList.OnInitInsertingRecord := TreeViewInitInsertingRecord;
...
//
procedure TFRMBaseTreeList.TreeViewInitInsertingRecord(Sender: TObject;
    AFocusedNode: TcxTreeListDataNode; var AHandled: Boolean);
Var
  ADataSet: TDataSet;
  AFieldName: String;
begin
  if AFocusedNode <> nil then
  begin
    ADataSet := TcxDBTreeList(Sender).DataController.DataSet;
    if ADataSet.State in [dsEdit, dsInsert] then
    begin
      AFieldName := TcxDBTreeList(Sender).DataController.ParentField;
      if (GetKeyState(VK_SHIFT) < 0) then
        ADataSet.FieldByName(AFieldName).AsInteger := AFocusedNode.KeyValue
      else
        ADataSet.FieldByName(AFieldName).AsInteger := AFocusedNode.ParentValue;
    end;
  end;
end;
...
// Neuen Node erzeugen
TreeList.DataController.Insert;
Vielleich kommst du ja damit weiter.

Cu, Frank
Frank Reim
  Mit Zitat antworten Zitat
Corristo

Registriert seit: 16. Jul 2008
4 Beiträge
 
#3

Re: Problem mit neuen Nodes in QuantumTreelist

  Alt 21. Jul 2008, 12:48
Vielen herzlichen Dank. Es funktiobniert bis auf einen kleinen Schönheitsfehler. Bei jeder neu erstellten Node gibt er einen Fehler an: Wert ID kann nicht verändert werden. Eine Idee woran das liegt?
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Problem mit neuen Nodes in QuantumTreelist

  Alt 21. Jul 2008, 13:25
Hi,

ich tippe auf OptionsData.AutoCalcKeyValue.

Hast du das evtll. auf True, verwendest aber ein AutoIncrement Field?

Frank
Frank Reim
  Mit Zitat antworten Zitat
Corristo

Registriert seit: 16. Jul 2008
4 Beiträge
 
#5

Re: Problem mit neuen Nodes in QuantumTreelist

  Alt 21. Jul 2008, 13:32
Wunderbar es Funktioniert

Großes Dankeschön an dich wieder was gelernt
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:44 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