喫茶XRAYトップページ

[スレッド全体
]

[7094] Re10:ファイル関連ダイアログコンポーネント返信 削除
2013/12/1 (日) 21:48:45 snail
▼ Mr.XRAYさん
すんません。まじめな話

> > E2170 非仮想メソッドはオーバーライドできません

この場合、元コンポーネントを修正するしか方法は無い。
という認識でよいのでしょうか。 _(._.)_


[7095] Re11:ファイル関連ダイアログコンポーネント返信 削除
2013/12/1 (日) 22:55:13 Mr.XRAY
plFileDialog.pas の Execute に virtual 指令を追加してください.

    function Execute:Boolean;
    ↓
    function Execute:Boolean; virtual;
 
動作確認に使用したコード
動作確認環境 Windows 7 U64(SP1) + Delphi XE Pro

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, plFileDialog;

type
  TMyBrowseFolder = class(TplBrowseFolder)
  public
    function Execute: Boolean; override;
  end;

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private 宣言 }
  public
    { Public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
  Compo : TMyBrowseFolder;
begin
  Compo := TMyBrowseFolder.Create(Self);
  compo.Execute;
end;

{ TMyBrowseFolder }

function TMyBrowseFolder.Execute: Boolean;
begin
  Result := inherited;
end;

end.



[7096] Re12:ファイル関連ダイアログコンポーネント返信 削除
2013/12/1 (日) 23:46:40 snail
▼ Mr.XRAYさん

> > E2170 非仮想メソッドはオーバーライドできません

この場合、元コンポーネントを修正するしか方法は無い。

と覚えます。

お手数をおかけしました。


[7097] Re13:ファイル関連ダイアログコンポーネント返信 削除
2013/12/2 (月) 00:13:21 Mr.XRAY
▼ snailさん

スミマセンです.

> この場合、元コンポーネントを修正するしか方法は無い。

単に virtual 指令を付け忘れていただけなのですが,
コンポのテストを十分していないと,ということにもなります.
お許しください.


[7098] Re14:ファイル関連ダイアログコンポーネント返信 削除
2013/12/2 (月) 08:01:25 snail
▼ Mr.XRAYさん

決して苦情を言っているわけではありません。

純粋に何か回避策は無いか?と思っただけです。

気をつかわせてしまって申し訳ありませんでした。




[7099] Re15:ファイル関連ダイアログコンポーネント返信 削除
2013/12/2 (月) 08:40:13 Mr.XRAY
▼ snailさん

> 気をつかわせてしまって申し訳ありませんでした。

いえいえ,とんでもはっぷん,あるいてじゅっぶんです.
こういうことがないと修正しません,って,
修正して UP する予定もないです.ハハハッ.
また同じ問い合わせがあったら,その都度対応しますです.ハイ.

このコンポの Execute を override して使う人はあまりいないでしょうから.

できれば,Vista 以降の仮想フォルダへの対応も一緒にと考えています.
でも,具体的な対応策が思いつかないもんでして.... (^^;


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82