begin
opendialog := TFileOpenDialog.Create(this);
opendialog.options := (ofAllowMultiSelect);
// Display the open file dialog
if not opendialog.Execute then
begin
ShowMessage('Open file was cancelled');
path := '';
end
else
begin
for i := 0 to openpic.Files.Count-1 do
ShowMessage(openpic.Files[i]);
end;
opendialog.free;
无处不在我看它说选项设置为opendialog.options:= [ofAllowMultiSelect];我正在使用的平台不会让我使用[]但是当我做()时没有错误。出于某种原因,这个选项永远不适合我。我觉得我已经尝试过我在网上搜索过的所有内容,但我没有发现任何人遇到类似的问题。
这也很奇怪,有时我发现设置选项(ofEnableSizing)或类似(ofHideReadOnly)实际上会采取和工作SOMETIMES(wierd),但ofAllowMultiSelect从来没有为我工作,它是我唯一需要的。我尝试像opendialog.ofallowmultiselect:= true像其他平台一样,但这也错了。
任何想法都会非常感激。
答案 0 :(得分:1)
当然它不起作用。您必须使用[]
创建一个集合!
OpenDialog.Options := [ofAllowMultiSelect];
如果出于某种奇怪的原因,您无法输入[
和]
,则可以改为使用(.
和.)
:
OpenDialog.Options := (.ofAllowMultiSelect.);
此外(但有点不相关的说明),你应该总是用try..finally
包含这样的代码块:
OpenDialog := TFileOpenDialog.Create(nil); // or self -- there is no 'this'
try
// Do stuff
finally
OpenDialog.Free;
end;