AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Was stimmt hier nicht ? Probleme mit Pointer und dyn. Arrays
Thema durchsuchen
Ansicht
Themen-Optionen

Was stimmt hier nicht ? Probleme mit Pointer und dyn. Arrays

Ein Thema von TeTSuO · begonnen am 6. Mär 2005 · letzter Beitrag vom 7. Mär 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#11

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

  Alt 7. Mär 2005, 11:14
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
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
UweR

Registriert seit: 15. Mär 2004
Ort: Bad Marienberg
219 Beiträge
 
Delphi 7 Professional
 
#12

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

  Alt 7. Mär 2005, 12:48
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.
Gruß
UweR
  Mit Zitat antworten Zitat
Benutzerbild von TeTSuO
TeTSuO

Registriert seit: 26. Feb 2005
Ort: Ludwigshafen am Rhein
60 Beiträge
 
Delphi 7 Enterprise
 
#13

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

  Alt 7. Mär 2005, 19:19
Klappt wunderbar! Bin echt beeindruckt
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

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
Angehängte Dateien
Dateityp: exe sldedit_976.exe (412,5 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#14

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

  Alt 7. Mär 2005, 19:49
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
  Mit Zitat antworten Zitat
Benutzerbild von TeTSuO
TeTSuO

Registriert seit: 26. Feb 2005
Ort: Ludwigshafen am Rhein
60 Beiträge
 
Delphi 7 Enterprise
 
#15

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

  Alt 7. Mär 2005, 20:29
hab ich dann auch rausgefunden. Trotzdem Danke!

Ich habe das jetzt anders gemacht.

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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 18:35 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