Entwickler-Ecke
Dateizugriff - Speicherfreigabe bei SHGetPathFromIDList
Mathematiker - Sa 14.04.12 18:21
Titel: Speicherfreigabe bei SHGetPathFromIDList
Hallo,
bei einer langen Suche im Forum habe ich eine Vielzahl von Beiträgen zum Problem Anwenderverzeichnis gefunden.
Besonders interessant finde ich
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| var pIdL: PItemIDList; Path: Array [0..Max_Path] Of Char; Begin SHGetSpecialFolderLocation (0, CSIDL_APPDATA, pIdL); SHGetPathFromIDList (pIDL, Path); MessageDlg (Path, mtInformation, [mbOK], 0); end; |
da dort kein(!) ActiveX verwendet wird und ich auch gern auf ActiveX verzichten möchte.
Allerdings habe ich gelesen, dass SHGetPathFromIDList Speicherplatz reserviert, der nicht automatisch freigegeben wird. Weiß jemand, wie ich den Speicher freigeben kann?
Beste Grüße
Mathematiker
Moderiert von
Narses: 2. Frage entfernt.
Mathematiker - Mo 16.04.12 09:57
Hallo,
es tut mir leid, dass ich nerve. 40 Leute haben bisher meine Anfrage angesehen und leider keine Antwort.
Wenn die Frage wirklich zu dämlich :bawling: ist, dann sagt es mir bitte.
Beste Grüße
Mathematiker
Narses - Mo 16.04.12 10:16
Moin!
Mathematiker hat folgendes geschrieben : |
Wenn die Frage wirklich zu dämlich :bawling: ist, dann sagt es mir bitte. |
Schonmal von der MSDN-Library gehört? :zwinker:
Wie
hier nachzulesen ist [
http://msdn.microsoft.com/en-us/library/bb762203(v=vs.85).aspx], ist die Funktion SHGetSpecialFolderLocation() veraltet und sollte durch
SHGetFolderLocation() [
http://msdn.microsoft.com/en-us/library/bb762180(v=vs.85).aspx] ersetzt werden. Weiterhin ist hier der Grund für das "Speicher-Problem":
Folglich ist es nicht unbedingt nötig, in Delphi die ActiveX-Unit einzubinden, aber die meisten werden zu faul gewesen sein, diese Funktion selbst nochmal zu kapseln, da sie dort (vermutlich?) schon drin ist. :nixweiss: Das ändert aber nix an der Eigentümerschaft an dem Speicher, du musst also auf jeden Fall selbst freigeben. :idea:
Ich habe diese ganze Problematik jetzt nicht im Detail untersucht, sondern lediglich den Einstieg in die Doku gesucht. ;) Für weitere Details bitte selbst :les: .
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!