AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Daten-Rekord zu TreeView hinzufügen - Problem/AV
Thema durchsuchen
Ansicht
Themen-Optionen

Daten-Rekord zu TreeView hinzufügen - Problem/AV

Ein Thema von Jim Carrey · begonnen am 2. Nov 2016 · letzter Beitrag vom 3. Nov 2016
Antwort Antwort
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Daten-Rekord zu TreeView hinzufügen - Problem/AV

  Alt 2. Nov 2016, 10:24
Lass mal das FreeNode Event komplett weg. Nimm es aus dem Objektinspektor einfach mal raus. Spielt jetzt erstmal keine Rolle ob ein Memory Leak ensteht oder nicht. Wenn dann keine AV mehr kommt, dann kann ich es mir nur noch so erklären, dass es an dem Finalize() liegt. Obwohl das eigentlich kein Problem machen sollte.

Das Ding ist nur, dass beim Klick auf den Button noch kein FreeNode ausgeführt wird, deshalb dürfte der Fehler auch da nicht drin liegen.

Welche VST Version verwendest du denn?

Ich hasse VirtualStringTree einfach.
Ich dachte ich kann schnell einen Node mit 1 Children erzeugen und delbst das klappt nicht.
Wenn du einmal einen funktionierenden VST hast und dich richtig mit der Komponente beschäftigst/beschäftigen kannst, dann wirst du ihn lieben.

Ich baue euch mal eine Demo.
Ja das wäre mal nicht schlecht.
  Mit Zitat antworten Zitat
Jim Carrey
(Gast)

n/a Beiträge
 
#2

AW: Daten-Rekord zu TreeView hinzufügen - Problem/AV

  Alt 2. Nov 2016, 10:26
Demo befindet sich im Beitrag oben drüber =)
Da ist nur das Nötigste drin.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Daten-Rekord zu TreeView hinzufügen - Problem/AV

  Alt 2. Nov 2016, 10:36
Demo befindet sich im Beitrag oben drüber =)
Da ist nur das Nötigste drin.
Also beim Start deiner fertigen Exe habe ich keine AV bekommen.

Nachdem ich sie dann neu compiliert habe (auch im Release Modus), kam sie dann.

Die AV tritt bei mir in der folgenden Zeile auf: Data^ := aRecord; Scheinbar gibt es da irgendwie Probleme beim Kopieren der Daten. Auf sInformation kann beim Debuggen z.B. nicht zugegriffen werden. Beim Debuggen durch den Disassebly Code bleibt er in der Methode UStrAsg hängen die von CopyRecord aufgerufen wird. Es ist also wohl keine gute Idee einen Record zu übergeben und den dann weiterzuverarbeiten.

Auch das Umschreiben auf einen normalen record anstatt eines packed record hat bei mir nichts gebracht.

EDIT: Vielleicht kann jaenicke dazu noch was sagen. Er benutzt den VST ja auch häufig und kann dir bei dem Fehler bestimmt noch besser helfen.

Alternativ bleibt wohl, dass du nicht über eine Zwischenprozedur gehst oder zumindest über eine, die die Daten nicht übergeben bekommt. Oder du steigst auf eine Miniklasse um. Ist zwar vielleicht etwas overkill, aber wird den Fehler wohl beheben und du hast mehr Möglichkeiten in der Zukunft.

Geändert von Aviator ( 2. Nov 2016 um 10:39 Uhr)
  Mit Zitat antworten Zitat
Jim Carrey
(Gast)

n/a Beiträge
 
#4

AW: Daten-Rekord zu TreeView hinzufügen - Problem/AV

  Alt 2. Nov 2016, 10:38
Das ist sehr seltsam. Früher habe ich ausschließlich diese "Dirty-Methode" benutzt und hatte nie Probleme
Ich habe gerade noch rausbekommen, dass die AV nur kommt, wenn man mindestens 2x den Button drückt.
  Mit Zitat antworten Zitat
Jim Carrey
(Gast)

n/a Beiträge
 
#5

AW: Daten-Rekord zu TreeView hinzufügen - Problem/AV

  Alt 2. Nov 2016, 10:58
Ich habe das Ganze jetzt mal zum Test auf eine TObjectList umgestellt und es funktioniert ohne Fehler.
Dann muss ich wohl doch die TObjectList nehmen

Gleich nach dem Essen muss ich dann nur noch rausbekommen, wie man Unterknoten einfügt und betitelt.
Angehängte Dateien
Dateityp: zip VST_DEMO_TObjectList.zip (1,13 MB, 4x aufgerufen)
  Mit Zitat antworten Zitat
rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
302 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Daten-Rekord zu TreeView hinzufügen - Problem/AV

  Alt 2. Nov 2016, 11:29
Moin!

sag mal, fehlt bei Dir möglicherweise die Größenzuweisung?

   VST.NodeDataSize   := SizeOf(TTreeData);
Gruß
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
  Mit Zitat antworten Zitat
Jim Carrey
(Gast)

n/a Beiträge
 
#7

AW: Daten-Rekord zu TreeView hinzufügen - Problem/AV

  Alt 2. Nov 2016, 11:54
- Problem hat sich erledigt, ich benutze letzten Endes das VST doch nicht, da es mich zu sehr nervt

Geändert von Jim Carrey ( 2. Nov 2016 um 12:49 Uhr)
  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 10:00 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