abc プロジェクト
14.1.4. FormActivate メンバ関数説明

メンバ関数名 FormActivate
定義ファイル名main.cpp
定義行 299
所属名 TMainF
アクセス属性 published
宣言形式 void FormActivate ( TObject * Sender )
概要 ファイル名の所得と、各パスの実行を行う
戻り値 なし
パラメタ説明 Sender 呼び出し元オブジェクト
機能説明 フォームがActiveになった時に呼ばれ、ファイル名の所得と、各パスの実行を行う
備考

呼出し先関数一覧表
名称 定義ファイル名 定義行
1 TPass4::Exec pass4.cpp 115
2 TPass5::Exec pass5.cpp 131
3 TVisualDM::Exec Visual.cpp 62
4 Pass1 pass1.cpp 50
5 Pass1_2 pass1.cpp 317
6 Pass1_3 pass1.cpp 531
7 Pass2 pass2.cpp 56
8 Pass3 pass3.cpp 41
9 TMainF::print main.cpp 217
10 Add

11 Close

12 FileExists

13 GetInfo

14 IntToStr

15 ProcessMessages

参照外部変数一覧表
名称 定義ファイル名 定義行
1 VisualDM Visual.cpp 21

参照メンバ変数一覧表
名称 定義ファイル名 定義行
1 TMainF::CloseReqF main.h 52
2 TMainF::EndF main.h 53
3 TMainF::ErrF main.h 51
4 TMainF::Memo1 main.h 43
5 TMainF::SrcFileName main.h 66
6 TMainF::TokenList main.h 67
7 TMainF::TuneRegionList main.h 69
8 TMainF::ValDataList main.h 68
9 TMainF::VisualF main.h 54

参照先一覧表
名称 種別 定義ファイル名 定義行
1 TPass4 クラス pass4.h 31
2 TPass5 クラス pass5.h 30
3 TToken クラス pass1.h 216
4 TTuneRegion クラス TuneRegion.h 88

関数論理チャート

        |  +--------------------------------------------------------+ 
   299  +--+ void __fastcall TMainF::FormActivate(TObject *Sender)  | 
   300     | {                                                      | 
           +--+-----------------------------------------------------+ 
   301        +--- TPass4 *Pass4;
   302        +--- TPass5 *Pass5;
   303        |    
   304        +--- ErrF = false;
   305        +--- Application->ProcessMessages();
   306        +--- print("**** Start ****");
   307        +--- print("SrcFile =\"" + SrcFileName+"\"");
              |  +--------------------------------+ 
   308        +--+ if(!FileExists(SrcFileName)){  | 
              |  +--+-----------------------------+ 
   309        |     +--- print("スクリプト実行対象ファイル \"" + SrcFileName + "\" が見つかりません。");
   310        |     +--- print("引数(ドラッグするファイル)に正しいファイルを指定してください。");
   311        |     +--- ErrF = true;
   312        |     +--- EndF = true;
              |     |  +----------+ 
   313        |     +--+ return;  | 
              |     |  +----------+ 
              |   +-+---+ 
   314        |   |  }  | 
              |   +-----+ 
   315        +--- print("Pass1 Start");
   316        +--- TokenList->Add((void *)new TToken("",tid_null)); // 先頭
   317        +--- Pass1(SrcFileName,TokenList);   // SrcFileをトークンに解析し、TokenListを生成
   318        +--- TokenList->Add((void *)new TToken("",tid_null)); // 最後
   319        +--- Pass1_2(TokenList); // TokenListの整理
   320        +--- #if 0
              |  +----------------------------------------------+ 
   321        +--+ for(int i = 0 ; i < TokenList->Count ; i++){ | 
              |  +--+-------------------------------------------+ 
   322        |     +--- MainF->print(IntToStr(i) + " ["+((TToken *)TokenList->Items[i])->Str+"] Id = "
   323        |     |        + IntToStr(((TToken *)TokenList->Items[i])->TokId));                       
              |   +-+---+ 
   324        |   |  }  | 
              |   +-----+ 
   325        +--- #endif
   326        +--- Pass1_3(SrcFileName,TokenList); // TokenListの OrgStrを設定する。
   327        |                                                                       
              |  +------------+ 
   328        +--+ if(ErrF){  | 
              |  +--+---------+ 
              |     |  +----------+ 
   328        |     +--+ return;  | 
              |     |  +----------+ 
              |   +-+---+ 
   328        |   |  }  | 
              |   +-----+ 
   329        +--- print("Pass2 Start");
   330        +--- Pass2(TokenList,ValDataList);   // TokenListから構文解析を行い、ValDataリストを生成
   331        |                                                                                         
   332        +--- #if 0 // 変数リストの表示
   333        +--- Memo1->Lines->Add("------ 変数リスト ---------");
              |  +------------------------------------------------+ 
   334        +--+ for(int i = 0 ; i < ValDataList->Count ; i++){ | 
              |  +--+---------------------------------------------+ 
   335        |     +--- Memo1->Lines->Add(IntToStr(i)+":"+((TValData *)ValDataList->Items[i])->ToString());
              |   +-+---+ 
   336        |   |  }  | 
              |   +-----+ 
   337        +--- #endif
   338        +--- // スクリプトの解析を行う。
              |  +------------+ 
   339        +--+ if(ErrF){  | 
              |  +--+---------+ 
              |     |  +----------+ 
   339        |     +--+ return;  | 
              |     |  +----------+ 
              |   +-+---+ 
   339        |   |  }  | 
              |   +-----+ 
   340        +--- print("Pass3 Start");
   341        +--- Pass3(TokenList,ValDataList);
   342        |    
              |  +------------+ 
   343        +--+ if(ErrF){  | 
              |  +--+---------+ 
              |     |  +----------+ 
   343        |     +--+ return;  | 
              |     |  +----------+ 
              |   +-+---+ 
   343        |   |  }  | 
              |   +-----+ 
   344        +--- // チューニングリージョンを生成
   345        +--- print("Pass4 Start");
   346        +--- Pass4 = new TPass4(TokenList,ValDataList,TuneRegionList);
   347        +--- Pass4->Exec();
   348        |    
   349        +--- #if 1 // 生成されたチューニングリージョンの表示
   350        +--- Memo1->Lines->Add("------ チューニングリージョン ---------");
              |  +----------------------------------------------------+ 
   351        +--+ for(int i = 0 ; i < TuneRegionList->Count ; i++){  | 
              |  +--+-------------------------------------------------+ 
   352        |     +--- Memo1->Lines->Add("チューニングリージョン : "+IntToStr(i));
   353        |     +--- Memo1->Lines->Add(((TTuneRegion *)TuneRegionList->Items[i])->GetInfo());
              |   +-+---+ 
   354        |   |  }  | 
              |   +-----+ 
   355        +--- #endif
   356        +--- // 出力ファイル生成
              |  +------------+ 
   357        +--+ if(ErrF){  | 
              |  +--+---------+ 
   357        |     +--- delete Pass4;
              |     |  +----------+ 
   357        |     +--+ return;  | 
              |     |  +----------+ 
              |   +-+---+ 
   357        |   |  }  | 
              |   +-----+ 
   358        +--- print("Pass5 Start");
   359        +--- Pass5 = new TPass5(TokenList,ValDataList,TuneRegionList);
   360        +--- Pass5->Exec();
   361        |    
   362        +--- //
   363        |    // Visual化 ファイル出力 
   364        |    //                       
              |  +--------------+ 
   365        +--+ if(VisualF){ | 
              |  +--+-----------+ 
   366        |     +--- VisualDM->Exec();
              |   +-+---+ 
   367        |   |  }  | 
              |   +-----+ 
   368        |    
   369        +--- delete Pass5;
   370        |    
   371        +--- print("**** End ****");
              |  +----------------+ 
   372        +--+ if(CloseReqF){ | 
              |  +--+-------------+ 
   373        |     +--- print("スクリプト処理は、中断されました。");
   374        |     +--- print("出力結果は、未確定です。");
   375        |     +--- ErrF = true;
              |   +-+---+ 
   376        |   |  }  | 
              |   +-+---+ 
              |   +-+---------------+ 
   376        |   |  else if(ErrF){ | 
              |   +-+---------------+ 
   377        |     +--- print("スクリプト処理で、エラーが発生しました。");
   378        |     +--- print("出力結果は、未確定です。");
              |   +-+---+ 
   379        |   |  }  | 
              |   +-----+ 
   380        +--- EndF = true;
              |  +------------+ 
   381        +--+ if(!ErrF){ | 
              |  +--+---------+ 
   382        |     +--- #ifndef _DEBUG
   383        |     +--- //#if 1
   384        |     +--- Close();
   385        |     +--- #endif
              |   +-+---+ 
   386        |   |  }  | 
              |   +-----+ 
            +-+---+ 
   387      |  }  | 
            +-----+