アプリ版:「スタンプのみでお礼する」機能のリリースについて

Borland C++ Builder5 を使っています。
WindowsXP Pro SP2の環境です。

ダイアログを表示するプログラムを作ろうとすると、コンパイルエラーになります。
この回避方法をお教え下さい。

親Form1のメニューを選択した時に
OptionDlg->ShowModal();
で表示しようとしています。

OptionDlgは、「ファイル-新規-ダイアログ」で作ったダイアログです。
ダイアログのNameプロパティに「OptionDlg」と指定し、ソースはOptionDlgu.cppで
登録しました。
親Formで、ヘッダーファイルの追加もしています。

このような状態でコンパイルすると、
sysutils.hpp( ):F1004コンパイラ内部のエラー
というメッセージが出て、コンパイル出来ません。

上記の方法で、ダイアログを表示するだけのサンプルプログラムを作ると、
正常にコンパイル出来ます。

初心者の私には、sysutils.hppが何を記述している部分なのか理解出来ていない
のですが、今までにも同様の手順でダイアログを出すプログラムを作っていて、
何も問題なかったので、途方に暮れています。

A 回答 (1件)

マイコンピュータのプロパティで、ユーザー環境変数の「TEMP」と「TMP」に設定されているフォルダが、長いフォルダ名になってませんか?


(C:\Documents and Settings\ユーザー名\tempなど)

Cドライブのルートに「TEMP」という空フォルダを作成し、ユーザー環境変数の「TEMP」と「TMP」を「C:\TEMP\」に設定すると問題が解消する場合があります。
(コンパイラ内部の「tempフォルダのパス位置を記憶するバッファのサイズ」が小さく、バッファ溢れしてコンパイラ自身がメモリを壊している可能性があります)
    • good
    • 0
この回答へのお礼

chie65536さん、ありがとうございました。
結論から述べると、まだ解決していません。

コントロールパネル-システム-詳細設定で、環境変数を変更しました。
C:\TEMP

もちろん、空フォルダーも作りました。
その状態でコンパイルしたのですが、同じ現象が出ます。

ちなみに、エラーとなっているsysutils.hppは、2つめのpublic:の
TObject.Destroy の部分です。


class DELPHICLASS Exception;
class PASCALIMPLEMENTATION Exception : public System::TObject
{略
private: 略
public: 略
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~Exception(void) { }
#pragma option pop

};

お礼日時:2007/06/14 19:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!