Delphi 5 TOpenDialog选项无法工作

时间:2011-08-18 20:35:00

标签: delphi options topendialog

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像其他平台一样,但这也错了。

任何想法都会非常感激。

1 个答案:

答案 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;