2010-11-19 13 views
1

Borland C++ BuilderのプログラムでUnderCライブラリ(C++スクリプト機能を使用)を使用しようとしていましたが(Windows XPの場合)、どうしたらよいか分かりません修正する。他の問題が出てきて、私はそれらのソリューションをオンラインで見つけましたが、これは簡単に検索可能な単語で説明するのは難しいです。私は(コンパイラ検索パスに)必要なファイルを含むフォルダを追加しました。 "ucdl.h"と "ucc12.lib"(C++は.libをcoffからomfに変換する必要があると私に言いました。それは私にそのエラーを与えるのを止めた)。 #include "ucdl.h"という行を追加しましたが、今はエラーメッセージが表示されませんが、実行するとまずCPUのデバッグウィンドウの途中で停止します。ブレークポイントを設定します。ブレークポイントはありません。なぜそれが止まったのかについて何ら理由はありません。それを実行し続けると、アクセス違反エラーが発生します。 1つのことが有用かもしれないし、有用でないかもしれない - もし、CPUデバッガで、私が一時停止した場所から行をバックアップすると、目に見えるアセンブリを再解析し、それがあった行がバイトより早く始まるように見える。コードは、それがクラッシュした場所に到達するために、私の知る限り、停止したところから実行されると が、それは次のように、
__roundToInt64()に
___CRTL_VCL_Sharememに
___CRTL_VCL_Initから(アセンブリコードで)行きますこの行には、隣接するメモリ位置を指し示す多くの同様の行が先行して続きます。ポインターに含まれるアドレスは0x00009B47であり、プログラムの範囲外であると思われ、エラーが発生します。私はこの問題にどのように対処するのか分かりません。なぜなら、最初に(本当に変わった)停止したときにエラーが出ることはなく、どこにエラーが出るのかというソースコードはありません。 VCLの初期化領域であり、ライブラリの追加がどのようにそれを引き起こすのか分かりません。任意のアイデア、誰ですか?追加されたライブラリ。理由なしでBorland C++ Builderが一時停止する

また、borlndmm.dllをロードした直後に一時停止するように見えますが、通常のプログラムではさらに多くのDLLがロードされ続けます。イベントログには示しています」

Thread Start: Thread ID: 3028. Process ManualEventLogger.exe (4932) 
Process Start: C:\Documents and Settings\Matthew\My Documents\Borland Studio Projects\Cantrips\Manual Event Logger\Debug_Build\ManualEventLogger.exe. Base Address: $00400000.  Process ManualEventLogger.exe (4932) 
Module Load: ManualEventLogger.exe. Has Debug Info. Base Address: $00400000. Process ManualEventLogger.exe (4932) 
Module Load: ntdll.dll. No Debug Info. Base Address: $7C900000. Process ManualEventLogger.exe (4932) 
Module Load: KERNEL32.dll. No Debug Info. Base Address: $7C800000. Process ManualEventLogger.exe (4932) 
Module Load: vcl100.bpl. No Debug Info. Base Address: $52000000. Process ManualEventLogger.exe (4932) 
Module Load: rtl100.bpl. No Debug Info. Base Address: $51F20000. Process ManualEventLogger.exe (4932) 
Module Load: OLEAUT32.dll. No Debug Info. Base Address: $77120000. Process ManualEventLogger.exe (4932) 
Module Load: ADVAPI32.dll. No Debug Info. Base Address: $77DD0000. Process ManualEventLogger.exe (4932) 
Module Load: RPCRT4.dll. No Debug Info. Base Address: $77E70000. Process ManualEventLogger.exe (4932) 
Module Load: Secur32.dll. No Debug Info. Base Address: $77FE0000. Process ManualEventLogger.exe (4932) 
Module Load: GDI32.dll. No Debug Info. Base Address: $77F10000. Process ManualEventLogger.exe (4932) 
Module Load: USER32.dll. No Debug Info. Base Address: $7E410000. Process ManualEventLogger.exe (4932) 
Module Load: msvcrt.dll. No Debug Info. Base Address: $77C10000. Process ManualEventLogger.exe (4932) 
Module Load: ole32.dll. No Debug Info. Base Address: $774E0000. Process ManualEventLogger.exe (4932) 
Module Load: VERSION.dll. No Debug Info. Base Address: $77C00000. Process ManualEventLogger.exe (4932) 
Module Load: MPR.dll. No Debug Info. Base Address: $71B20000. Process ManualEventLogger.exe (4932) 
Module Load: IMAGEHLP.dll. No Debug Info. Base Address: $76C90000. Process ManualEventLogger.exe (4932) 
Module Load: WSOCK32.dll. No Debug Info. Base Address: $71AD0000. Process ManualEventLogger.exe (4932) 
Module Load: WS2_32.dll. No Debug Info. Base Address: $71AB0000. Process ManualEventLogger.exe (4932) 
Module Load: WS2HELP.dll. No Debug Info. Base Address: $71AA0000. Process ManualEventLogger.exe (4932) 
Module Load: OLEACC.dll. No Debug Info. Base Address: $74C80000. Process ManualEventLogger.exe (4932) 
Module Load: MSVCP60.dll. No Debug Info. Base Address: $76080000. Process ManualEventLogger.exe (4932) 
Module Load: MSIMG32.dll. No Debug Info. Base Address: $76380000. Process ManualEventLogger.exe (4932) 
Module Load: COMCTL32.dll. No Debug Info. Base Address: $5D090000. Process ManualEventLogger.exe (4932) 
Module Load: SHELL32.dll. No Debug Info. Base Address: $7C9C0000. Process ManualEventLogger.exe (4932) 
Module Load: SHLWAPI.dll. No Debug Info. Base Address: $77F60000. Process ManualEventLogger.exe (4932) 
Module Load: WINSPOOL.DRV. No Debug Info. Base Address: $73000000. Process ManualEventLogger.exe (4932) 
Module Load: comdlg32.dll. No Debug Info. Base Address: $763B0000. Process ManualEventLogger.exe (4932) 
Module Load: oledlg.dll. No Debug Info. Base Address: $7DF70000. Process ManualEventLogger.exe (4932) 
Module Load: borlndmm.dll. No Debug Info. Base Address: $21670000. Process ManualEventLogger.exe (4932) 

答えて

0

は、[OK]を...私は設定をいじってました、と私は(.LIBではなく)ucc12.dllの「プロジェクトにファイルを追加」を使用し、その後にチェックそのファイルをプログラムのローカルディレクトリにコピーする "ローカルコピー" ...そのプログラムはその時にうまくいきました。だから、今は動作します...しかし、私はまだそれがなぜ働いたのか、まったく正確には非常に奇妙な振る舞いを引き起こしていたものはまだ分かりません。誰かがそれについてのアイディアを持っているなら、私は知りたいと思うだろう。しかし、少なくともプログラムは今、働いています。

関連する問題