私は、SDL 1.3 APIを使用して、1つまたは複数のSDLレンダリングサーフェスをDelphiウィンドウに埋め込むことができるシンプルなコンポーネントを作成しようとしています。コンパイルとインストールはうまくいきますが、フォームデザイナーでコンポーネントを使用しようとすると、オブジェクトインスペクターでそのプロパティにアクセスしたり、フォームを保存したり、コンポーネントを削除したり、コンポーネントを削除しようとするたびにAVを生成します。フォームを実行しようとすると、リンカエラーが発生します。何らかの理由でDFMを正しく読み取れないようです。カスタムコンポーネントがIDEでAVを生成するのはなぜですか?
DLLはhttp://www.libsdl.org/tmp/SDL-1.3-dll.zipにあり、私のコンポーネントのソースコードはhereからダウンロードできます。 SDL.pasはJEDI-SDLヘッダーファイルです。残りは私自身のコードです。
フォームデザイナーでAVを呼び出す理由はありません。実行時にコントロールを動的に作成すると、安定性の問題はありません。誰もがこれを見て、私はそれをクリアするのに役立つかもしれないいくつかのフィードバックを提供することはできますか?
OK。公開されたセクションからFlagsプロパティを削除すると、問題は解決しません。 IDEは、基礎となるSet定義のRTTIをルックアップしようとするとチョークします。私はすべてのアップデートがインストールされた状態でDelphi 2009を実行しています。これは2009年に悪いRTTIが見つかった第2のケースです。私はQCに入れます。 –
セットはどのように宣言されていますか?セットの要素数は?最大32の要素のみを含むセットを公開することができます。 –
TSdlWindowFlags =(sdlwFullscreen、sdlwOpenGl、sdlwShown、sdlwBorderless、sdlwResizable、sdlwMinimized、sdlwMaximized、sdlwInputGrabbed、dslwInputFocus、sdlwMouseFocus、sdwlForeign、sdlwForce32 = 31)のセット。列挙された12個の要素は細工されているので、 "int"を期待するCルーチンに渡すことができます。 –