AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi SHQueryRecycleBin: mysteriöses Verhalten
Thema durchsuchen
Ansicht
Themen-Optionen

SHQueryRecycleBin: mysteriöses Verhalten

Ein Thema von Mazel · begonnen am 12. Jun 2008 · letzter Beitrag vom 12. Jun 2008
 
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#1

SHQueryRecycleBin: mysteriöses Verhalten

  Alt 12. Jun 2008, 22:01
Guten Abend,

ich habe bei der oben genannten Funktion ein komisches Verhalten festgestellt, dass ich mir nicht erklären kann, zunächst einmal der Quellcode:
Delphi-Quellcode:
if SHQueryRecycleBin('', RecycleBinInfo) = S_OK then
  begin
   Result.RecycleItems := IntToStr(RecycleBinInfo.i64NumItems);
   Result.RecycleSize := GetStringSize(RecycleBinInfo.i64Size, 0);
  end
 else
  begin
   Result.RecycleItems := 'kein Papierkorb vorhanden';
   Result.RecycleSize := 'kein Papierkorb vorhanden';
  end;
...
...
 // ProfilName
 Result.ProfilName := GetMinimizedName(Main.ProfilName);
 // ProfilSize
 Result.ProfilSize := GetStringSize(GetDirSize(Main.ProfilName), 0);
 // TempName
 Result.TempName := GetMinimizedName(Main.TempName);
 // TempSize
 Result.TempSize := GetStringSize(GetDirSize(Main.TempName), 0);
Zur weiteren Information: GetDirSize, GetStringSize und GetMinimizedName sind eigene Funktionen die eine Verzeichnisgröße in Int64 ermittelt, eine Verzeichnisgröße in einem verständlichen String zurück gibt und einen zulangen String bei einem Slash abschneidet.

Das Problem welches besteht ist, dass so wie der Code hier steht, SHQueryRecycleBin nicht S_OK zurückgibt. Kommentiere ich "ProfilName und ProfilSize" oder "TempName und TempSize" aus, geht es.

Warum aber nicht so wie es ist? Die SHQueryRecycleBin-Funktion wird doch vorher aufgerufen und hat nichts mit den nachfolgenden Anweisungen zu tun.

Was passiert intern? Es hat den Anschein, als ob erst die 4 anderen Anweisungen verarbeitet werden und dann SHQueryRecycleBin, was irgendwie zu einer falschen Rückgabe führt.

Wenn mir jemand helfen kann, wär ich froh.

Danke
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
 


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 08:48 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