LTCustomizer21からの変更点 LTCustomizer21 for AutoCAD LT リファレンスマニュアル
1.LTCustomizer21の文字コードはMBCSからUNICODEになりました。
C/C++のDLLとして使用する場合、関数の引数が以下のように変わりました。
文字列の入力はconst char*からconst wchar_t *
文字列の出力はchar* から BSTR* に
(ActiveXとして利用する場合、文字列変数部分の変更はほとんどありません。)仕様拡張として、start_script, selectにUNICODEを指定できるオプションを追加。詳しくはリンク先にて。
AutoCAD 2007以降のUTF8に対応したDXFファイルの読み込みができるようになりました。
2.ActiveXでの倍精度実数の取得は、 LTCustomizer21独自の文字列形式ではなく、double型の参照(Reference)になりました。
それにより、set_take_special_double_on_selectは廃止になり、倍精度実数を返す関数の引数と返り値が変更になった関数があります。get_select..関連関数がほとんどです。
3.初期化関数init()の仕様変更
1.返り値は通信成功か否かだけではなく、通信に成功したCADのインデックスが返ってきます。
2.汎用的指定が出来るオプションoを使った初期化では、ウィンドウタイトルをAutoCAD LTやAutoCADの判断材料にしなくなったため、削除// C/C++での例
String str;
switch( LTC_init(L"0,19,'AutoCAD LT.DDE'") ){
case 0: str = L"通信失敗";break;
case 1: str= L"AutoCAD LTと通信確立";break;
case 2: str= L"AutoCAD 2014と通信確立";break;
case 3: str= L"AutoCAD LTと通信確立";break;
}
MessageBox(NULL,str,L"test app",MB_OK);init()で読み込まれるCFGファイルはLTC21.cfgに変更。
これはアプリケーション(実行ファイル)のあるディレクトリに置く必要があります
LTC21.cfgで使用できる"RUN="フォーマットは、CLSIDまたはHKEY...から始まるレジストリ名、AutoCAD LTのあるフルパスになりました。
4.certify_userの仕様変更
個人用ライセンスとして使用する場合、第一引数にFalseを入力するだけ。この関数実行後にダイアログが表示されるので登録情報を入力
5.ActiveXとして使用する場合、VisualBasic6.0はサポート外
VisualBasic2010とそれ以降のバージョンで使用可能にすることを考慮したため、デフォルト引数の仕様上、パラメータの順序を変えた関数がいくつかあります。VisualC#などの.NET対応言語はテストはしていませんが、記述の仕方が若干違うかと思いますが問題ないかと思います。
6.ActiveXで使用する場合、各関数の最初のインデックス番号は0から
これはVB.NETの仕様に合わせた変更です。 LTCustomizerは1からでした。C/C++言語と同じ仕様になります。