2011年6月14日火曜日

【Delphi】メッセージダイアログをフォーム中央に表示する

メッセージダイアログをフォームとして受取り、加工した後に表示する。
更新 20230724 : Windows11に対応
function TForm1.ShowConfirmMsg(_msg: string): TModalResult;
  var
    frmMsg: TForm;
begin
  frmMsg := CreateMessageDialog(_msg, mtConfirmation, [mbOK, mbCancel]);
  with frmMsg do begin
    try
      Self.InsertComponent(frmMsg);
      Position := poOwnerFormCenter;
      ShowModal;
    finally
      Free;
    end;
  end;
end;

(久しぶりに使ってみたら文法エラーが出たので Self.InsertComponent を追加しました。)

2011年6月11日土曜日

【Delphi, Firebird】エンベデッド・ドライバ

Firebird エンベデッド・ドライバの配布は簡単。

1.Firebird はサーバ版と同じバージョンのエンベデッド版をダウンロードし、以下のファイルをアプリケーションと同じフォルダに置く。
fbclient.dll ← fbembed.dllの名前を変更
icudt30.dll
icuin30.dll
icuuc30.dll

以下は、必要な場合のみ。
ib_util.dll
firebird.conf
firebird.msg
udf/
fbudf.dll

2.接続は Devart の dbx ドライバを使用。
dbexpida40.dll
dbexpida30.dll(Delphi 2006アプリケーションでは上記の代わりに)

備考:
1)fbembed.dll が Firebird の本体でsる。
2)fbembed.dll のままで何故いけないのか? どこかに gds32.dll にせよと書いてあったが、これもダメ。どこかで定義しているはずなのだが。