クリスタルレポート10Jを使ったVB6で作成のアプリケーションで。
インストーラーを使ってインストールしようとすると、クリスタルレポート関連のファイルの登録時に、cxlibw-1-6.dllが無いという内容のエラーが出て止まる。
元はこっち
http://www.agtech.co.jp/support/faq/legacy/crystal_reports_legacy/v10j/20050525001.html
以下、上記サイトより転載
--------------------------
(ここから)
Q:【開発】配布先のセットアップ中に「'C:\Program Files\Common Files\Crystal Decisions\2.5\bin\crqe.dll'の登録中にエラーが発生しました。」というエラーが発生しますが、何故でしょうか?
A:ご利用のアプリケーションが Report Designer Component(RDC)を使用している場合、このエラーが発生する事があります。
配布イメージを作成する際に使用した Craxdrt.dep 依存情報ファイルの [cxlibw-1-6.dll] セクションの記述に誤りがある事が原因です。
Craxdrt.dep の [cxlibw-1-6.dll] セクションの記述を、次のように修正します。
誤:Dest=$(WinSysPath)\cxlibw-1-6.dll
正:Dest=$(WinSysPath)
修正後の Craxdrt.dep を使用して、再度配布イメージを作成し直して下さい。
なお、Hot Fix やサービスパックを適用していない環境では、Craxdrt.dep 内容に [cxlibw-1-6.dll] セクションの記述がありません。
この場合、cxlibw-1-6.dll ファイルが不足している為にエラーが発生していると考えられますので、配布イメージに cxlibw-1-6.dll を含めてみてください。
(ここまで)
--------------------------
Craxdrt.depはクリレポのインストールしたところ?にあるようだ、配布のファイルにはない。
再度インストーラーを生成しなおししないといけないようだ。
なお。
Craxdrt.depはC:\Program Files\Common Files\Crystal Decisions\2.5\binにあったりする。
cxlibw-1-6.dllはC:\WINDOWS\system32に入っている(はず)
追記。
インストーラにcxlibw-1-6.dllを追記しても駄目、手動でsystem32ホルダにいれるのが吉でした。
2009年02月27日
クリスタルレポート10Jを使用したVB6アプリケーションのインストール失敗。
posted by すら at 11:06| プログラミングなこと
2009年02月09日
TurboC++(C++Builder)における浮動小数点演算エラー
TurboC++であった、浮動小数点例外の発生原因。
ComboBoxのOnChangeで実行するFunctionが、
戻り値double指定だったのに、returnで何も返していなかった。
そのFuncitonを実行したあと、暫くして例外が発生する。
上手く動くときもあった。
戻り値に何も返して無くても、とりあえずコンパイルは通るので発見が遅れた(^^;
ComboBoxのOnChangeで実行するFunctionが、
戻り値double指定だったのに、returnで何も返していなかった。
そのFuncitonを実行したあと、暫くして例外が発生する。
上手く動くときもあった。
戻り値に何も返して無くても、とりあえずコンパイルは通るので発見が遅れた(^^;
posted by すら at 16:32| プログラミングなこと
2009年01月08日
クォートする
’ はシングルクォーテーション
” はダブルクォーテーション
これらの文字で囲むことを「クォート」すると言うらしい。
なお、囲った結果は文字列リテラルと言うらしい。
※リテラル:定数
” はダブルクォーテーション
これらの文字で囲むことを「クォート」すると言うらしい。
なお、囲った結果は文字列リテラルと言うらしい。
※リテラル:定数
posted by すら at 15:46| プログラミングなこと
2008年12月13日
GoogleMap キーが他のサイトに割り当たっている旨のエラーについて
GoogleMap使用時にキーが他のサイトに割り当てられている旨のメッセージが出た場合。
落とし穴として。
普通にドメイン名でURL登録しているのに、アクセスはIPアドレス表記で行った、というパターン。
この場合、GoogleMap以外は正常に動くため、原因が解りにくい。
落とし穴として。
普通にドメイン名でURL登録しているのに、アクセスはIPアドレス表記で行った、というパターン。
この場合、GoogleMap以外は正常に動くため、原因が解りにくい。
posted by すら at 11:50| プログラミングなこと
int64の数値を文字列化(VC/BCC)
i64の数値を文字列化する方法
__int64 i64val; //64ビット整数
char *buff; //char型の格納先
int radix; // 基数(_i64toa用)
その1)
sprintf( buff, "%I64lld", i64val );
d->x にすると16進出力
その2)
_i64toa( i64val, buff, radix )
radix:10 で10進、16ならHex
※セキュリティ対応版の_i64toa_sというのがあり、通常はそちらを使用するらしい。
__int64 i64val; //64ビット整数
char *buff; //char型の格納先
int radix; // 基数(_i64toa用)
その1)
sprintf( buff, "%I64lld", i64val );
d->x にすると16進出力
その2)
_i64toa( i64val, buff, radix )
radix:10 で10進、16ならHex
※セキュリティ対応版の_i64toa_sというのがあり、通常はそちらを使用するらしい。
posted by すら at 11:48| プログラミングなこと
Rockwell Automation のRSLinxとのDDE通信
vbLinkAutimaticでリンク生成すると、たまに通信が欠落する。
対策として。
LinkMode = vbLinkManual
として。
PLCに書き出すときはLinkPoke
PLCから読み込むときはLinkRequest
を使用し、定期的に(たとえばタイマーで)受け渡しをポーリングで実装する。
また、RSLinxでDDE使用時は、設定でPLCを選択する部分に注意、バックプレーンの中のPLC相手だとDDE接続文字列を生成出来ない。
対策として。
LinkMode = vbLinkManual
として。
PLCに書き出すときはLinkPoke
PLCから読み込むときはLinkRequest
を使用し、定期的に(たとえばタイマーで)受け渡しをポーリングで実装する。
また、RSLinxでDDE使用時は、設定でPLCを選択する部分に注意、バックプレーンの中のPLC相手だとDDE接続文字列を生成出来ない。
posted by すら at 11:48| プログラミングなこと