(for Internet Explorer)
ファイルロード (開く)
CSVGCatApp::LoadStep2
CChildView::OnPaint
CSVGCatApp::Load
CSVGCatApp::PreLoad
描画後に行う処理
メインロード処理(UI 含まない)
先行ロード処理
CMainFrame::Load
ロード処理(UI 含む)
 CSVGCatApp::Load_imp
Rect_Ex と Text_Box のときは、枠付きテキストにする
グループを解析して複合図形に変更する
 1. 調べる図形の x,y 座標を確認する。
座標値は、プロパティで確認します。
・Rect_Ex : x(左), y(上) の値そのまま。
・Text_Box : x(横基準点), y(縦基準点)
<rect x="494.5" y="110.5"
<image x="13" y="131"
<text x="441.5px" y="15.5px"
検索キーワード例:
メモ帳などでページ番号やx,y座標から、調べるタグを検索して、その行番号
を確認する。

・CSVGCatApp::Load の #define  SVGCATS_LOAD_TRACE を有効にする
・breakPath に SVG ファイル名を設定する。
・調査したい位置について、breakLine, beforeBreakLines, breakColumn
  を設定する。

「第1 Loadログ確認地点」 でブレークする。
遅いときはウィルス監視ソフトを切ってください。

errlog.txt を確認する。

「第2 Loadログ確認地点」 でブレークするか、関数の途中で if ( bLogEnable )
BK を入れてブレークする。そこからトレース実行する。
このとき、beforeBreakLines = 0 にしてもよい。
2.


3.




4.


5.

6.
問題のある図形がどのようにロードされるかを確認する手順を示します。
ファイルロードの様子を途中から詳細に表示するには
上記 3. 以降を行ってください。
SVG File = C:\Documents and Settings\VARISTA\デスクトップ\調査.svg
Shift-JIS File = C:\DOCUME~1\VARISTA\LOCALS~1\Temp\unitmp12

XMLPars_parse [loop=714: : pos=0x57D1] time=66803484 ========================
Line = 316, Column = 2
fp = </text>
      <text x="28.5px" y="710.5px" style="fill:rgb(0,128,0);font-family:MS-
prims in this group -----------------------
groups stack ---------------
parsed data -----------------

XMLPars[0012BA14]
  tokenType = XMLPars_TextBetweenTags
HtmlPars[0012BA6C] engU=[0012BA14]
 prevTokenType = 2
 name = /text, attr_n = 0
 mem = [0012BAA0]
BLex3_Pos[0012BA70] pos=0x57D1, sjis_type=0
-----------------------------
acting...
<g>

XMLPars_parse [loop=715: : pos=0x5869] time=66803796 =======================
Line = 316, Column = 2
デバッグ表示の例:
XMLPARS_PARSE_TRACE,  HTMLPARS_PARSE_TRACE, を有効にすると、


したときから、動作ログがデバッグ表示されます。
BLex3 に問題がありそうなら、BLEX3_FILEPTR_TRACE を有効にしてください。
BLex3_Engine*  eng;
if ( blex->bBreak )
  BK
XMLPars_setEnableLog( xmlp, true );
XMLPars_parse や、HTMLPars_parse をステップ実行するときは、
以下のように記述してブレークしてから行います。
XMLPars_setEnableBreak( xmlp, true );
不正な値のファイルでもエラーにならないようにする
test src
キャンバス座標の範囲内 -99999〜+99999 に収める
 オーバーフローでキャンバスサイズがマイナスになったりするのを防ぐ
SVGCat_File_loadPage
SVGCat_File_savePage
前の SVGCat_Page
SVGCat_File
::m_prims
::m_Canvas
CSVGCatApp::ChgPage
CSVGCatApp::ChgPage は、SVGCat_File_savePage してから、SVGCat_File_loadPage しています。
save と load は Canvas_copy を呼び出しています。
次の SVGCat_Page
退避
復帰
現在編集中
Canvas_copy
現在編集中のページのデータは、SVGCat_File::m_prims にありますが、SVGCat_File::m_pages の中から
一時的にコピーしています。
SVGCat_File
SVGCat_File::m_prims
SVGCat_File::m_pages
SVGCat_Page::prims
リスト
リスト要素
現在編集中
退避
復帰
キャンバスのプロパティ・バーは、Canvas::GetProp からデータを取得して表示していますが、ファイル
のプロパティも同時に表示しています。 つまり、ファイルのプロパティの中で、プロパティ・バーに表示
するものは、Canvas が持っています。
m_Canvas::nextPageInterval
Canvas_copy
CSVGCatApp::ChgPage
m_Canvas は、
new したものです
SVGCat_Page::canvas は、
malloc したものです
一時 nextPageInterval
SVGCat_Page
退避
復帰
m_StartPageNum も nextPageInterval も、ファイルのプロパティです
しかし、コピーすると、上記 CSVGCatApp::ChgPage で、ページ・プロパティに対する処理を行ってしま
います。それを避けるため、Canvas にあるファイルのプロパティは、Canvas_copy の前で退避、後で
復帰させます。
Canvas::nextPageInterval
Canvas_copy は、データに変更があったかどうかを判定するため、ファイルのプロパティもコピーする
必要があります。
Canvas_copy
ファイルのプロパティもコピー
SVGCat_File::m_StartPageNum
関連
From: m-toda@mrg.biglobe.ne.jp
Subject: 連絡【重要】
Date: Wed, 12 Apr 2006 08:45:47 +0900
URL=script:template_load( template_url, format_file )
?
未対応
・フォーマットエラーになっても、ハングアップしないこと
・SVG Cats がロードされていないとき
・SVG Cats がロードされているとき