LoginSignup
0
1

More than 5 years have passed since last update.

C++ Builder XE4 > メモリが足りません (Abnormal Program Termination) > 再現方法

Last updated at Posted at 2017-12-21
動作環境
C++ Builder XE4
Windows 7 Pro (32bit)

「メモリが足りません」もしくは「Abnormal Program Termination」というエラーはどの場合に出るのか。

code

Unit1.cpp
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TDateTime dt1 = VarToDateTime(L"2017/12/21 14:20");
}
//---------------------------------------------------------------------------

エラーの発生手順は以下。

  • 上記のソフトをビルドして、日本語Windows 7環境で実行する
  • ボタンを押す

英語OS環境

英語版のWindows 7環境では「Abnormal Program Termination」になるのではないだろうか。

What Causes "Abnormal Program Termination"

(2) There is not enough memory to expand the stack.

現在見つかっている「Abnormal Program Termination」に対して、その解決の糸口をどのように見つけるか。

VarToDateTime

指定されたバリアントを TDateTime 値に変換します。

Lプリフィックスにすると、バリアントの認識に失敗するのかもしれない。

いったん、String型変数において、VarToDateTime()を使う場合はエラーにはならない。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1