DatamoduleからInterbaseへアクセスするには。

解決


ちゃ  2003-10-07 21:32:40  No: 5129  IP: 192.*.*.*

以下のように記述してdatamoduleからinterbaseへアクセスしようとしています。
でもEAccess Violationクラス例外で異常終了します。
Formからは以下のように記述すればアクセスできますが、datamodule
からはどのようにしたらアクセス出来るのでしょうか?

  with datamodule1.IBStoredProc1 do begin
    Prepare;
    try
      StoredProcname := 'BAS_FORM_CAPTION_GET';
      ParamByName('APPLICATION_TITLE').AsString  := Application_Title;
      ParamByName('USER_ID').AsInteger  := pub_user_id;
      ParamByName('FORM_NAME').AsString  := Form_Name;
      ExecProc;
      result :=ParamByName('CAPTION').AsString;
    finally
      UnPrepare;
    end;
  end;

編集 削除
ちゃ  2003-10-07 23:30:41  No: 5130  IP: 192.*.*.*

解決しました。
Main Formの  Oncreateイベントから
datamoduleのファンクションを呼んでいたからの
ようです。Onshowイベントから呼ぶように
変えたら正常に動作しました。

編集 削除
にしの  2003-10-08 08:00:01  No: 5131  IP: 192.*.*.*

解決されているようですが、プロジェクトオプションで、datamoduleを先に生成するようにすればOKですよ。
一番上に設定されたFormがMainFormとなりますが、datamoduleはMainFormになり得ないので大丈夫です。

編集 削除