☆動的配列のメモリ確保で・・・。

動的配列のメモリ確保を別処理にした場合に、 SetLengthのところでエラーになりました。

procedure Shori(var AOR: array of String);
begin
  SetLength(AOR, 10);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  AOR: array of String;
begin
  Shori(AOR);
end;

エラーメッセージの内容です。

[DCC エラー] Unit1.pas(30): E2008 互換性の無い型です



次のように array of StringTypes 名前空間で定義されている TStringDynArray に置き換えることにより解決しました。
uses Types;

procedure Shori(var AOR: TStringDynArray);
begin
  SetLength(AOR, 10);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  AOR: TStringDynArray;
begin
  Shori(AOR);
end;


[20071023追記]
この件は、動的配列の問題ではなく、正確にはオープン配列パラメータの仕様です。
タイトルが動的配列となっており、ややこしくてすみません。
詳しくはヘルプの オープン配列パラメータ をご覧下さい。 「オープン配列パラメータは SetLength には渡せません。」ときちんと載っています。

|

その他のカテゴリー

ADO | ADT | API | ArrayList | ASP.NET | BDE | BDP.NET | BdpConnection | Borland Developer Studio 2006 | CAPICOM | class | ClipBoard | CodeEditor | Convert.ToString | Custom component | DBExpress | Delphi 2005 | Delphi 2006 | Delphi 2007 | Delphi XE2 | Delphi7 | Delphi8 | Device Driver | Dialog | Docking | DocuWorks | Docuworks SDK | Drag&Drop | Evernote | EXCEL | Firebird | FireMonkey | Game | General | Generics | Google Earth COM API | Google Maps | Google SketchUp | Graphic | IDE | Imm | Indy | InstallAware Express6 | InterBase Admin | JWW | Microsoft SQL Server | MyBase | OnMouseDown | Oracle XE | Paradox | PreviewHandler | PrintDialog | PrintPreviewDialog | PropertyGrid | PSDファイル | Ribbon Controls | RichTextBox | Servers | SubClass | TAction | TActionList | TAnimate | TButton | TCategoryButtons | TClientDataSet | TComboBox | TComboBoxEx | TCustomEdit | TDBGrid | TDockTabSet | TDrawGrid | TEdit | TExcelApplication | TFont | TForm | third party | TImage | TLabel | TList | TListBox | TListView | TMemo | TOpenDialog | TOutlookApplication | TPageControl | TPanel | TRichEdit | TShellResources | TStringGrid | TTabControl | TToolBar | TToolButton | TTreeView | TWebBrowser | Update | VCL Styles | WinInet | XE2 | XPman | オープン配列パラメータ | グループ化 | トランスレーションマネージャー | ファイル処理 | ファイル名処理 | 動的配列 | 投票 | 文字列処理 | 日本語入力 | 暗号 | | 音声合成利用