Speicherleck in FileSize?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

    • Speicherleck in FileSize?

      Könnte sein, dass das in aktuelen Versionen von XProfan schon gefixt ist.
      Bei mir (XProfan9) wird beim Aufruf von FileSize immer ein Handle auf den Ordner nicht wieder geschlossen, in dem sich die Datei befindet:

      Quellcode

      1. Def NtQueryInformationProcess(5) !"NTDLL","NtQueryInformationProcess"
      2. Declare File$, Edit&, Button&, Dir$, H_Count&, Read&
      3. Windowstyle 31
      4. WindowTitle "FileSize Test"
      5. Window 0,0-640,440
      6. Button&=Create("Button",%HWND,"Testen",20,20,500,30)
      7. Repeat
      8. Waitinput
      9. IF Clicked(Button&)
      10. CLS
      11. NtQueryInformationProcess(External("KERNEL32.dll","GetCurrentProcess"),20,ADDR(H_Count&),4,ADDR(Read&))
      12. Locate 10,0
      13. Print "Offene Kernelhandles vor dem Listing: "+Str$(H_Count&)
      14. ClearList
      15. Dir$=$SYSPATH
      16. File$=FindFirst$(Dir$+"\"+"*.*")
      17. While File$<>""
      18. Locate 20,0
      19. Print Dir$+"\"+File$+Space$(255)
      20. IF (FileExists(Dir$+"\"+File$)=1) or (DirExists(Dir$+"\"+File$)=1)
      21. Assign #1,Dir$+"\"+File$
      22. IF DirExists(Dir$+"\"+File$)=1
      23. Addstring File$+" "+GetFDate$(#1)+" "+GetFTime$(#1)
      24. elseif (FileExists(Dir$+"\"+File$)=1)
      25. CHDIR Dir$
      26. Addstring File$+" "+GetFDate$(#1)+" "+GetFTime$(#1)+" "+Str$(FileSize(Dir$+"\"+File$))
      27. endif
      28. endif
      29. NtQueryInformationProcess(External("KERNEL32.dll","GetCurrentProcess"),20,ADDR(H_Count&),4,ADDR(Read&))
      30. Locate 11,0
      31. Print "Offene Kernelhandles: "+Str$(H_Count&)+" "
      32. File$=FindNext$()
      33. EndWhile
      34. NtQueryInformationProcess(External("KERNEL32.dll","GetCurrentProcess"),20,ADDR(H_Count&),4,ADDR(Read&))
      35. Locate 11,0
      36. Print "Offene Kernelhandles nach dem Listing: "+Str$(H_Count&)+" "
      37. Editbox("Dateien in "+Dir$,1)
      38. endif
      39. until 0
      Alles anzeigen

      [Blockierte Grafik: http://s1.postimage.org/1t9XaJ.jpg]