![]() |
Programm unter XP: Exception Processing Message
Hallo Leute,
ich hab mit meinem Programm unter XP ein Problem: Immer wenn ich es starte kommt die Windows Fehlermeldung: Zitat:
Nur bei mir ist es anders: Meldung kommt nur beim Starten von meinem Programm. Kam vorher noch nie und auch das Herunterfahren klappte problemlos. Unter Vista läuft es ohne Fehlermeldung, nur unter XP. Und das kurioseste ist noch, dass das Programm (wenn man bei der Meldung Weiter oder Abbrechen drückt) einwandfrei läuft. Hier ist der Code von Form1.Show:
Delphi-Quellcode:
FindDirs macht folgendes: FindDirs('Pfad','Suchmaske',Unterordner auch durchsuchen?');
procedure TForm1.FormShow(Sender: TObject);
begin user:= TStringList.Create; korb:= TStringList.Create; aResult:=TStringList.Create; userpfad; aResult:=TStringList.Create; papierkorb; Label3.Caption:=GetOS; end; procedure TForm1.userpfad; begin if (GetOS='Vista') then FindDirs('C:\users\','*',false); if (GetOS= 'XP' ) then FindDirs('C:\Dokumente und Einstellungen\','*',false); user:=aResult; end; function TForm1.GetOS:string; var s : string; Regist : TRegIniFile; begin regist:=TRegIniFile.Create('regist'); regist.rootKey:=HKEY_LOCAL_MACHINE; regist.openkey('SOFTWARE\Microsoft\Windows NT\CurrentVersion\',false); s:=regist.readstring('\SOFTWARE\Microsoft\Windows NT\CurrentVersion\','ProductName','System nicht erkannt'); regist.free; if not (pos('Vista',s)=0) then s:='Vista'; if not (pos('XP',s)=0) then s:='XP'; Result:=s; end; Die Procedure macht soweit keine Probleme, deswegen hab ich sie auch nicht mit reinkopiert. Wisst ihr woran das liegen könnte?? Vielleicht an der Funktion "GetOS"?? |
Re: Programm unter XP: Exception Processing Message
Zitat:
Immerhin ändert sich dieses Verzeichnis (vorallem je nach OS) und man man kann es auch verschieben. ![]() vorallem GetSpecialFolder, bzw. ![]() ![]() Zitat:
Debuggen ist das Stichwort. |
Re: Programm unter XP: Exception Processing Message
OK Leute,
habs selbst gefunden :thumb: Procedure Papierkorb greift auf viele Datenträger zu (C bis F) Da liegt der Fehler. // Manchmal hilft es schon, sich mal Fehlermeldungen Wort für Wort durchzulesen :) |
Re: Programm unter XP: Exception Processing Message
Zitat:
Zitat:
PSS: Was macht eine Funktion "Papierkorb" eigentlich? Interessiert mich zwar nicht wirklich, aber so als Tipp: Vergib besser verständlichere Namen, damit man weiß, was dort passiert ... vorallem damit du es irgendwann selber auch noch weißt. :zwinker: |
Re: Programm unter XP: Exception Processing Message
Naja Debuggen hätte nich viel gebracht:
Delphi hab ich nur unter Vista, wollte nur mal schaun obs auch unter XP läuft (<-- das Programm unter XP, nicht Delphi). Papierkorb:
Delphi-Quellcode:
^^ Ich wette, dass XP da ein Laufwerk / Datenträger nicht gefunden hat :lol:
procedure TForm1.papierkorb;
begin FindDirs('C:\$RECYCLE.BIN\','*',false); FindDirs('D:\$RECYCLE.BIN\','*',false); FindDirs('E:\$RECYCLE.BIN\','*',false); FindDirs('F:\$RECYCLE.BIN\','*',false); FindDirs('G:\$RECYCLE.BIN\','*',false); FindDirs('H:\$RECYCLE.BIN\','*',false); korb:=aResult; end; |
Re: Programm unter XP: Exception Processing Message
Abgesehn davon, daß man nicht direkt über dieses interne Verzeichnis auf einen Papierkorb zugreift,
heißt dieses Papierkorbverzeichnis unter XP auch noch anders. RECYCLER ... und ich glaub unter Win2000 hieß es noch Recycled. Für den Papierkorb gibt es eine entsprechende API (weiß aber grad nicht welche) und wie sonst auch, bekommt man zu solchen Systemverzeichnissen über die obengenannte API die richtigen Pfade. PS: Unter Windows kann man innerhalb von NTFS auch Laufwerke ohne Laufwerksbuchstaben mounten, so daß man diese mit A: und Co. garnicht finden kann. |
Re: Programm unter XP: Exception Processing Message
Hi,
hab deine Antwort grad gelesen. Werde es mal mit der API versuchen. Warum kann Windows nicht mal die Pfade für Papierkorb, User-Dateien und Anwendungsdateien gleich lassen von Version zu Version. Das würde einiges einfacher machen :) |
Re: Programm unter XP: Exception Processing Message
Zitat:
und somit, bei mehreren installierten (unterschiedlichen) Betriebsystem sich die Papierkörbe nicht gegenseitig stören und so keine Probleme verursachen. :zwinker: |
Re: Programm unter XP: Exception Processing Message
Hallo,
das geht zwar jetzt etwas ab vom Thema, aber ... Das mit den unterschiedlichen Betriebssystemen, die installiert sein können, ist mir schon klar. Dann stören die sich nicht. Aber man kann doch eine Festplatte in verschiedene Partitionen aufteilen. Ich hab eine Festplatte in meim Laptop, die ist in drei Teile geteilt (1x1,5 GB und 2x115 GB). Dann kann man doch auch für (wenn man Vista hat) für XP ne neue Partition anlegen und schon stört es sich nicht mehr. Das war so meine Überlegung dafür :spin2: |
Re: Programm unter XP: Exception Processing Message
Dennoch hast du von beiden OS Zugriff auf alle Partitionen, könntest somit überall Löschen und demnach benötigt jedes dieser OS auf jeder Platte einen "eigenen" Papierkorb.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 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