Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Was stimmt hier nicht ? Probleme mit Pointer und dyn. Arrays (https://www.delphipraxis.net/41642-stimmt-hier-nicht-probleme-mit-pointer-und-dyn-arrays.html)

maximov 7. Mär 2005 10:14

Re: Was stimmt hier nicht ? Probleme mit Pointer und dyn. Ar
 
Moin,

oder du verpackst die den data-pointer in eine typisierte property, wie ich es hier vorführe...

http://www.delphipraxis.net/internal...enode&start=15

...das ist im wesentlichen, das, was Muetze vorschlägt, nur die funktionalität wird dahin verlagert wo sie nicht die hauptanwendung verstopft.

..nur als anregung :wink:

UweR 7. Mär 2005 11:48

Re: Was stimmt hier nicht ? Probleme mit Pointer und dyn. Ar
 
Noch ein Hinweis zum Code von Muetze:

Zitat:

Delphi-Quellcode:

Procedure TForm1.FormDestroy;
Var
  lInfo : PPictureInfo;
Begin
  While ( TreeView1.Items.Count > 0 ) Do
  Begin
    lInfo := TreeView1.Items[0].Data;
    TreeView1.Items.[0].Delete;
    Dispose(lInfo);
  End;
End;

Jeder TreeView hat das Ereignis OnDeletion was aufgerufen wird wenn ein Knoten gelöscht wird. Das ist ein wunderbarer Ort um Dispose aufzurufen. Das sorgt 1. dafür das auch keine Leichen entstehen wenn zwischendurch mal ein Knoten gelöscht wird und man kann sich die Schleife im FormDestroy sparen.

TeTSuO 7. Mär 2005 18:19

Re: Was stimmt hier nicht ? Probleme mit Pointer und dyn. Ar
 
Liste der Anhänge anzeigen (Anzahl: 1)
Klappt wunderbar! Bin echt beeindruckt :-D
Das mit dem OnDeletion funktioniert auch wunderbar.
Das einzige ist ich kann mein TPictureInfo nicht direkt auf PPictureInfo zuweisen;

Delphi-Quellcode:
   var PicInfo: PPictureInfo;
   ...
   New(PicInfo);
   PicInfo:=Picture[I];   // geht nicht! Array ist von typ TPictureInfo
   ...
muss das jetzt so machen :oops:

Delphi-Quellcode:
Procedure FillPicInfo(var pInfo: PPictureInfo;tInfo: TPictureInfo);
Begin
 pInfo.Picture:=tInfo.Picture;
 pInfo.Text:=tInfo.Text;
 ...
End;
Oder gibt es da auch ne andere Lösung?
Ist mein erstes Projekt mit dem Ich ausfühlich mit Pointern und dyn. Arrays arbeite
Ihr könnt es euch ja mal anschauen! Ist ein Editor für ein Diashow Programm was ich schon damals programiert hab

Muetze1 7. Mär 2005 18:49

Re: Was stimmt hier nicht ? Probleme mit Pointer und dyn. Ar
 
Moin!

Warum du auch immer noch das Array behälst?

Ansonsten:
Delphi-Quellcode:
var PicInfo: PPictureInfo;
   ...
   New(PicInfo);
   PicInfo^ := Picture[I];   // geht nicht! Array ist von typ TPictureInfo
   ...
MfG
Muetze1

TeTSuO 7. Mär 2005 19:29

Re: Was stimmt hier nicht ? Probleme mit Pointer und dyn. Ar
 
hab ich dann auch rausgefunden. Trotzdem Danke!

Ich habe das jetzt anders gemacht. :thumb:

Ich habe jetzt eine Class TPicFile, dyn. Array gelöscht dafür als Eigenschaft TreeView.
Nun wird über die Class alles gemacht. neue Einträge hinzugefügt Daten an die Nodes gehängt usw.
Funktioniert problemlos und ist absolut übersichtlich im Quellcode.

Danke für eure Hilfe und Interesse


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:10 Uhr.
Seite 2 von 2     12   

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