はじめまして。RAD XE5 ENTERPRISEをwindows10 で動かそうとしているもの
なのですが問題点の切り分けができない現象がおこり頭を悩ませています。
お力をお貸し願えませんでしょうか。
PCをWindows 7 Ultimate 64bitからwindows10 pro 64bitに無償アップグレ
ードしました。とりあえずXE5で作ったアプリケーションが動くかどうかを
試してみるかと思い、前につくったモジュール(win64のdebugフォルダに
できた実行ファイル)を起動させてみました。このアプリケーションはFirebirdベースのデータベースなのですが、正常に起動し、データベースへ
の接続も問題がない(ように見えます)です。ちなみに事前にFirebird2.5.5
インストール済です。
で、このアプリケーションは標準でバンドルされていたFastReports4で、ボ
タンを押すと抽出したレコードをプレビューするようにしてあるのですが、
これが正常に動きません。ボタンを押しても無反応で、その後ハングアップ
したように見えます(ボタンはへこんだりしていますが)さらにアプリケーションは終了することができず、タスクマネージャーを起動して強制終了す
るしかないという状況に陥ります。「windows 10では無理かぁ?」と思った
のですが、何気なく別にアップグレードしておいたサブ機でも試したところ
こちらは正常に動きます。プレビューが正常に動作するということです。
終了もできます。どなたかこのような現象お心当たりの方はいらっしゃいま
せんか?これら2台のマシンはどのようにアップデートしたか(アップデー
トに違いがあるのか)よく覚えていないのですが、同様にWindows7からの
アップデートしたのだったと思います。ちなみにRAD XE5のシステムは前者
のPCにインストールは無事に出来、コンパイルビルドも特に問題ない
(ように見え)ます。
>ボタンを押すと抽出したレコードをプレビューするようにしてあるのですが、これが正常に動きません。
ボタンを押した後の処理で、どこまで正常に動いていて、どの箇所で止まっているか、調べることは可能ですか?
> ちなみにRAD XE5のシステムは前者のPCにインストールは無事に出来、
このとき、InterBase XE3は、インストールされてますか?
(たしか、インストール途中のオプションでチェックを外さない限り、インストールされてしまってたような・・・)
また、そのPCには、GDS32.DLLは、ありますか?
(ある場合、InterBaseのものか、Firebirdのものか、調べてみるのもよいかもしれません。)
あと、XE5は、Update 2とかHotfixは適用済みですか?
>ボタンを押した後の処理で、どこまで正常に動いていて、どの箇所で止まっているか、調べることは可能ですか?
プロジェクトを読み込みウインドウをデバッグモードにしてイベントログを追ってみたのですが、ログには何も出てこず
停止しました。(これって変ですよね?)
>このとき、InterBase XE3は、インストールされてますか?
インストールオプションはいじっていません。コントロールパネルの「プログラムと機能」でみてみてもインストール
されています。
>そのPCには、GDS32.DLLは、ありますか?
windows\system32にあります。
>Update 2とかHotfixは適用済みですか
Update2、Hotfix1〜5適応済です。
interbaseは私の場合...インストールされていないほうがよいのですか?...でしょうか。
>>そのPCには、GDS32.DLLは、ありますか?
>windows\system32にあります。
そのGDS32.DLLがInterBaseのものであれば、場合によっては、Firebirdを使用するアプリケーションで
エラーになったりする可能性が、あるかと思います。
GDS32.DLLはファイルのプロパティを見てみたのですが「ファイルの説明」
欄にFirebied SQL Serverとありますのでinteraseのものではないように
思います。2台ともそうでした。
DLLが問題ないとすると・・・
新規プロジェクトで、
FastReports4でプレビュー表示するだけのプログラム
を作って、動かした場合も、同じように止まってしまいますか?
>FastReports4でプレビュー表示するだけのプログラムを作って、
なるほどと思いやってみました。ボタン1つとfrxReportをフォームに貼り付け
空のプレビューページを表示するようにしてコンパイルビルド実行したところ
空のプレビューページが表示されました。
ってことは...データベース関係に問題があるということでしょうか?それとも
プロジェクトを書き直すという不可解な対策?でもそれじゃあ動くPCと動かないPC
があるってことは?...なぞは深まります。
> なぞは深まります。
問題点の切り分けを行う場合、再現可能な最小のプログラムを作ってみるのもよい方法ですので、
> 空のプレビューページを表示するようにしてコンパイルビルド実行したところ
> 空のプレビューページが表示されました。
そのテストプログラムで、データベースに接続し、テーブルよりデータを格納してプレビュー表示をすると、
どうなりますか?
結果をご報告します。プレビューに不具合が出たプロジェクトをA。テスト用に作成したプロジェクトをB。
不具合が出たwindows10PCをX、不具合の出なかったサブPCをYとします。
・BはAのFirebirdデータベースファイルをそのまま使いました(テストデータ入りです)
・Bの構造は単純で、データベースをFDConnectで開いた後FDQueryをセットし、これをfrxDBDatasetにセットし
ShowPreparedReportによってプレビューします。ただそれだけです。
・xではAは正常動作しません。XE5のシステムででも実行型ファイルもです。
・YではAは正常動作します。XE5のシステムででも実行型ファイルもです。
・XでBは正常動作します。XE5のシステムででも実行型ファイルもです。
・YでBは正常動作します。XE5のシステムが入っていないので、実行型ファイルだけです。
という結果となりました。どうもXE5のコンパイル、ビルドには問題がなく、FastReportにも問題がないと
推測します。で、windows10にも問題があるとは考えられず、やはり不可解な「コード書き直し」しか対策
がないように思われます。いかがでしょう?
>やはり不可解な「コード書き直し」しか対策
>がないように思われます。いかがでしょう?
可能性としては・・・
・不具合が出たwindows10PC (ファイル構成や環境の可能性も含む)
・プレビューに不具合が出たプロジェクト
のどちらかが原因な気がしますけど、
私だったら、
検証用として、プレビューに不具合が出たプロジェクトのソースコードを別のフォルダにコピーし、
それを、FastReportsのプレビューに関連する処理以外を削っていき、
それで原因を特定していく方法とか
してみるかもしれません。
ところで、FastReports4は、XE5にバンドルされているEditionですか?
製品版(有償)の場合、4 の場合、4.15.13が最終だったと思うのですが、
使用されているFastReports4のバージョンは、どうなっていますか?
FastReportは4.13.2です。バンドルされていたものをそのまま
使っています。
ちょっと仕事がわさわさしてきたので検証はもう少ししてから
やってみます。おってアップします
しばしpause
ツイート | ![]() |