![]() |
Der neue FileSplitter ist da
So, die neue Version (4.0) des FileSplitters ist da. Die Dateioperationsroutinen sind noch die alten, aber der Code und das Design wurden etwas überarbeitet.
Wenn die Testphase erfolgreich verlaufen ist, gibt es auch den Source. :wink: Download: ![]() |
Ach übrigens:
Das Teilen und Zusammmenfügen passiert in Threads. Theoretisch könnte man eine Datei teilen und gleichzeitig eine andere zusammenfügen. Diesen Härtetest haben ich den FileSplitter aber noch nicht unterzogen. :mrgreen: |
Bei mir (Win98 SE) funktionieren deine gesamten Dialoge nicht...
Das ist mir schon bei deinem Crypter aufgefallen, den ich mir wegen den Callbacks runteralden sollte. Gemeint sind die "Datei Öffnen"-Dialoge. Der Info-Button funktioniert (sowohl im FileSplitte rlas auch im Crypter). Ist das so beabsichtigt, daß Win98-User keine Dateien öffnen dürfen? :mrgreen: |
Das liegt daran, dass unser Luckie nicht hören will ... und wir müssen es dann ausbaden. :wink: Tatsächlich benutzt der Gute eine modifizierte Struktur, die unter Win9x dann nicht reagiert.
Das habe ich ihm bei seinem Crypter auch schon vorgehalten. Wenn er stattdessen den Originalrecord von Borland benutzt, gibt´s dieses Problem nicht (mehr). :) |
Mensch Luckie, was machst du denn auch :-P
|
Zitat:
Zitat:
Delphi-Quellcode:
{-----------------------------------------------------------------------------
Procedure : OpenFile - 2003-06-01 03:45:47 modified : 2003-06-01 Author : Michael Puff Purpose : OpenFileDialog for file to split Arguments : None Result : string -----------------------------------------------------------------------------} function OpenFile : string; var ofn : TOpenFilename; Buffer : array[0..MAX_PATH - 1] of Char; begin result := ''; ZeroMemory(@Buffer[0], sizeof(Buffer)); ZeroMemory(@ofn, sizeof(TOpenFilename)); ofn.lStructSize := sizeof(TOpenFilename); ofn.hWndOwner := hApp; ofn.hInstance := hInstance; ofn.lpstrFile := @Buffer[0]; ofn.nMaxFile := sizeof(Buffer); ofn.Flags := OFN_LONGNAMES; { Datei-Öffnen-Dialog aufrufen } if GetOpenFileName(ofn) then result := ofn.lpstrFile; end; |
Zitat:
|
Tja, dann läuft's bei mir aus einem anderen Grund nicht. Ich bitte um Korrektur!
|
So. Probiert noch mal. Ich habe da jetzt was gedreht. Der Code sieht jetzt so aus:
Delphi-Quellcode:
const
OPENFILENAME_SIZE_VERSION_400 : Cardinal = $000004C; function IsNT5OrHigher: Boolean; var ovi: TOSVERSIONINFO; begin ZeroMemory(@ovi, sizeof(TOSVERSIONINFO)); ovi.dwOSVersionInfoSize := SizeOf(TOSVERSIONINFO); GetVersionEx(ovi); if (ovi.dwPlatformId = VER_PLATFORM_WIN32_NT) AND (ovi.dwMajorVersion >= 5) then result := TRUE else result := FALSE; end; {----------------------------------------------------------------------------- Procedure : OpenFile - 2003-06-01 03:45:47 modified : 2003-06-01 Author : Michael Puff Purpose : OpenFileDialog for file to split Arguments : None Result : string -----------------------------------------------------------------------------} function OpenFile : string; var ofn : TOpenFilename; Buffer : array[0..MAX_PATH - 1] of Char; begin result := ''; ZeroMemory(@Buffer[0], sizeof(Buffer)); ZeroMemory(@ofn, sizeof(TOpenFilename)); if IsNT5OrHigher then ofn.lStructSize := sizeof(TOpenFilename) else ofn.lStructSize := sizeof(OPENFILENAME_SIZE_VERSION_400); ofn.hWndOwner := hApp; ofn.hInstance := hInstance; ofn.lpstrFile := @Buffer[0]; ofn.nMaxFile := sizeof(Buffer); ofn.Flags := OFN_LONGNAMES; { Datei-Öffnen-Dialog aufrufen } if GetOpenFileName(ofn) then result := ofn.lpstrFile; end; |
Ich wollte nur einwerfen: die von Luckie vor-kompilierte Version hat das Problem, das tommie bereits erwähnt hat; die Dialoge erscheinen nicht. Das Interessante kommt aber jetzt -
Ich habe den Quellcode zur Ansicht bekommen und habe ihn mit meinem Delphi 5 Pro unter Win98 kompiliert (ohne irgendeine Änderung!). Fazit: die Dialoge erscheinen. :? Jetzt weiß ich auch nicht mehr. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:50 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