Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TOpenDialog MultiSelectBufferSize WorkAround (https://www.delphipraxis.net/105159-topendialog-multiselectbuffersize-workaround.html)

mschaefer 17. Dez 2007 10:49


TOpenDialog MultiSelectBufferSize WorkAround
 
Moin, moin,

Habe einen TOpenDialog und muß etwa 1000 Files laden können. Nach etwa 700 ist aber Schluss. Jetzt habe das Gooogle gefragt und es weist auf eine MultiSelectBufferSize von '8192' hin. Die soll die Länge der gesammten gewählten Filenamen begrenzen. Frage: Gibt es da schon eine Workaround?

Grüße // Martin

PS: Das gilt auch für alle anderen Dialoge...

Bernhard Geyer 17. Dez 2007 10:54

Re: TOpenDialog MultiSelectBufferSize WorkAround
 
Also bei mir ist
Delphi-Quellcode:
MultiSelectBufferSize = High(Word) - 16;
Sollte dann (von Delphi-Seite) kein Problem darstellen.

himitsu 17. Dez 2007 11:48

Re: TOpenDialog MultiSelectBufferSize WorkAround
 
wie lang sind denn die Dateinamen?

MultiSelectBufferSize(High(Word) - 16) / 1000 Dateien = 65,519
also etwa 65 Zeichen pro Dateiname

ja, einen WorkArround gibt es:
  • MultiSelectBufferSize in Dialogs.TOpenDialog.DoExecute ändern (nicht grad optimal)
  • TOpenDialog ableiten und DoExecute überschreiben
  • direkt an die WinAPI wenden
  • ...

mschaefer 17. Dez 2007 11:54

Re: TOpenDialog MultiSelectBufferSize WorkAround
 
Ja korrekt ist tatsächlich in der dialogs.pas so definiert. Trotzdem bricht der nach 700 Files ab und der letzte Filename ist abgeschnitten. Also was mit der StringLänge muß es wohl auf sich haben. Ja Himitsu Du hast es wohl schon geahnt, da sind doch etwas längere Netzwerkpfade mit im Dateinamen. Vielleicht sollte ich mir das mit der WinApi doch mal anschauen...

Grübelnd // Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 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