abc プロジェクト
14.1.4. FormActivate メンバ関数説明 |
メンバ関数名 | FormActivate |
定義ファイル名 | main.cpp |
定義行 | 299 |
所属名 | TMainF |
アクセス属性 | published |
宣言形式 | void FormActivate ( TObject * Sender ) |
概要 | ファイル名の所得と、各パスの実行を行う |
戻り値 | なし |
パラメタ説明 | Sender 呼び出し元オブジェクト |
機能説明 | フォームがActiveになった時に呼ばれ、ファイル名の所得と、各パスの実行を行う |
備考 | |
呼出し先関数一覧表
参照外部変数一覧表
参照メンバ変数一覧表
|
名称 |
定義ファイル名 |
定義行 |
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 |
参照先一覧表
関数論理チャート
| +--------------------------------------------------------+
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 | } |
+-----+