![]() |
Re: TStringList Max String länge
Zitat:
gruss Emil |
Re: TStringList Max String länge
Ich übergebe den Pfad nun mit GetShortName ist das einzigste was mir einfällt.
Kann aber nicht sagen ob das jetzt wieder mit anderen Sprachen probleme macht. Was mir noch aufgefallen ist und ebenfalls mit zu dem Problem beiträgt ist das diese DLL "CosmicBelt.svp" ein exception auslößt. Wie kann man bei LoadLibrary das exception abfangen ohne das es zum crash kommt ?
Delphi-Quellcode:
hilft nix kracht trotzdem.
try
dll := LoadLibrary(PAnsiChar(APlugin)); except exit; end; gruss Emil |
Re: TStringList Max String länge
Zu deinem Problem mit dem Pfad:
Zitat:
![]() Zu deiner letzten Frage (eigentlich nur eine Frage pro Thread :roll: ) Versuch mal GetLastError auszulesen. Kann natürlich sein, das die DLL Fehler in ihrer DllMain()-Procedur hat und dort die Exception auftritt. Diese kannst du dann natürlich nicht abfangen. |
Re: TStringList Max String länge
Zu 1. Danke das ist gelößt mit GetShortName. Mehr kann ich da eh nicht machen :)
Zu 2. Die DLL wurde gepackt daher kam es zum Exception. Hab sie gelöscht und mir einen vermerk gemacht. Vielen Dank. gruss Emil |
Re: TStringList Max String länge
|
Re: TStringList Max String länge
Zitat:
Zitat:
|
Re: TStringList Max String länge
Zitat:
Denke das müßte reichen.
Delphi-Quellcode:
@Mutze1
procedure SearchFiles(PluginType: byte;
path: string; recurse: BOOL; var List :TStrings); var sr : TSearchrec; tmpPath: string; begin if (Path[length(path)] <> '\') then path := path + '\'; try tmpPath := GetShortName(Path); except if GetlastError = ERROR_INVALID_PARAMETER then tmpPath := Path; end; 1. da war ich schon daher auch die Idee mit GetShortName 2. Habe es mal mit SafeLoadLibrary() versucht das gleiche problem Die DLL ist mit Petite Kompremiert ![]() dieser scheint die Datei zerschossen zu haben oder es ist einfach nicht möglich diese dann mit LoadLibrary zu laden. trotzdem danke muss halt alles versuchen. gruss Emil |
Re: TStringList Max String länge
Denk aber daran, dass API-Funktionen keine Exception werfen, sondenr einen Fehlercode zurückgeben. Deine Funktion GetShortName muss also im Fehlerfall eine Exception werfen.
|
Re: TStringList Max String länge
Zitat:
Ist was falsch an meiner Error prüfung ? EDIT: Ach so verstehe jetzt was du meinst Hier mal die Funktion aus dem Forum hier...
Delphi-Quellcode:
var
ErrorCode: DWord;
Delphi-Quellcode:
gruss Emil
function GetShortName(sLongName: string): string;
var sShortName: string; nShortNameLen: Integer; begin SetLength(sShortName, MAX_PATH); nShortNameLen := GetShortPathName(PChar(sLongName), PChar(sShortName), MAX_PATH - 1); if (0 = nShortNameLen) then begin ErrorCode := ERROR_INVALID_PARAMETER; // Du meinst das hier in etwa ? Exit; end; SetLength(sShortName, nShortNameLen); Result := sShortName; end; |
Re: TStringList Max String länge
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:29 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