回答初めてなので,言葉足らずだったら,申し訳ありません。
また,回答になっているかわかりませんが,自分の開発環境(Embarcadero10.3.3)で試してみた結果を報告します。
「結果」
上記ソースコードのままでは,エラーが表示されたため,エラーを除去して実行した結果,「Abnormal Program termination」は表示されませんでした。
「調査結果」
「Abnormal Program termination」のキーワードで調べてみましたが,「abort()」関数が呼ばれているみたいです。どのように解決するかも調べましたが,そこまでは見つけられませんでした。力及ばず,すいません。会社の開発環境がEmbarcadero10.3と同じなので,年明けにでもまた試してみます。
下記に修正したソースコードを記載しておきます。
Project1.cpp
C++
1 //---------------------------------------------------------------------------
2 # include <vcl.h>
3 # pragma hdrstop
4 # include <tchar.h>
5 //---------------------------------------------------------------------------
6 USEFORM ( "Unit1.cpp" , TCPClient ) ;
7 //---------------------------------------------------------------------------
8 int WINAPI _tWinMain ( HINSTANCE , HINSTANCE , LPTSTR , int )
9 {
10 try
11 {
12 Application -> Initialize ( ) ;
13 Application -> MainFormOnTaskBar = true ;
14 Application -> CreateForm ( __classid ( TTCPClient ) , & TCPClient ) ;
15 Application -> Run ( ) ;
16 }
17 catch ( Exception & exception )
18 {
19 Application -> ShowException ( & exception ) ;
20 }
21 catch ( . . . )
22 {
23 try
24 {
25 throw Exception ( "" ) ;
26 }
27 catch ( Exception & exception )
28 {
29 Application -> ShowException ( & exception ) ;
30 }
31 }
32 return 0 ;
33 }
34 //---------------------------------------------------------------------------
Unit1.cpp
C++
1 //---------------------------------------------------------------------------
2
3 # include <vcl.h>
4 # pragma hdrstop
5
6 # include "Unit1.h"
7
8 using namespace std ; // stringを使用するため
9 # include <iostream> // cin,coutを使用するため
10 # include <fstream> // ifstream,ofstreamを使用するため
11 //---------------------------------------------------------------------------
12 # pragma package ( smart_init )
13 # pragma resource "*.dfm"
14 TTCPClient * TCPClient ;
15 //---------------------------------------------------------------------------
16 __fastcall TTCPClient :: TTCPClient ( TComponent * Owner )
17 : TForm ( Owner )
18 {
19 }
20 //---------------------------------------------------------------------------
21 void __fastcall TTCPClient :: FormCreate ( TObject * Sender )
22 {
23 AnsiString filename = "SaveFile.txt" ;
24
25 ifstream fin ; // ファイル読み込み用ストリーム
26 // SaveFile.txtのオープン(読み取り)
27 fin . open ( filename . c_str ( ) , ios :: in ) ;
28
29 // ファイルオープンが成功の場合(SaveFileが存在した場合 )
30 if ( ! ( fin . fail ( ) ) )
31 {
32 string line ;
33 string line02 ;
34
35 // SaveFile.txtのEOFまで
36 while ( getline ( fin , line ) )
37 {
38 //cout << "[" << line << "]" << endl;
39 //line02 << "[" << line << "]" << endl;
40 line = "[" + line ;
41 line = line + "]\r\n" ;
42 line02 = line02 + line ;
43 }
44
45 AnsiString str ( line02 . c_str ( ) ) ;
46 ShowMessage ( str ) ;
47 }
48 // SaveFileが存在しない場合
49 else
50 {
51 // 画面フォームのStatusBar1上にパネルがいくつあるかわからないため
52 // Items[0]でエラーになるため,↓に書き換え
53 //StatusBar1->Panels->Items[0]->Text = "Save file does not exist!";
54
55 // StatusBar1にパネルがいくつあるかわからないため,
56 // SimpleTextプロパティに変更
57 StatusBar1 -> SimpleText = "Save file does not exist!" ;
58 }
59 }
60 //---------------------------------------------------------------------------
Unit1.h
C++
1 //---------------------------------------------------------------------------
2
3 # ifndef Unit1H
4 # define Unit1H
5 //---------------------------------------------------------------------------
6 # include <System.Classes.hpp>
7 # include <Vcl.Controls.hpp>
8 # include <Vcl.StdCtrls.hpp>
9 # include <Vcl.Forms.hpp>
10 # include <Vcl.ComCtrls.hpp>
11 //---------------------------------------------------------------------------
12 class TTCPClient : public TForm
13 {
14 __published : // IDE で管理されるコンポーネント
15 TStatusBar * StatusBar1 ;
16 void __fastcall FormCreate ( TObject * Sender ) ;
17 private : // ユーザー宣言
18 public : // ユーザー宣言
19 __fastcall TTCPClient ( TComponent * Owner ) ;
20 } ;
21 //---------------------------------------------------------------------------
22 extern PACKAGE TTCPClient * TCPClient ;
23 //---------------------------------------------------------------------------
24 # endif