NS Basic/CE 4.0 Enhancements

July 10, 2003

© NSB Corporation. All rights reserved.


以下の機能拡張とバグ修正が最新版4.0に含まれています。オンラインヘルプも以下の内容で更新されています。 日本語ハンドブックの更新版も新たに印刷されました。


4.1.0

Windows Mobile 2003 Pocket PC デバイスのサポートを追加。


4.0.0

  1. 全く新しくなったDesktop IDE

    デスクトップの開発環境を完全に書き直しました。NS Basic/Palmで使われているコードベースを基に、新バージョンはさらに使い易く、向上性があるものになりました。
  2. Em CE - 新しいNS Basic/CEのエミュレータ

    この新しいツールは、プログラムをデバイスにダウンロードする前に、デスクトップ上でテストすることを可能にしてくれます。Windows CEで行うこと全てはできませんので、ReadMeファイルかハンドブックの詳細を確認して下さい。
  3. Pocket PC 2002 Phone Editionのサポートを追加

    このOSを搭載した新しいデバイスが出荷され始めました。NS Basic/CE 4.0では、これらのデバイスに対応したプログラムが開発できます。
  4. Desktop IDEは、直ちにデバイス上で実行できるプログラムを作成

    これまでのバージョンでは、.txtフォーマットでしかプログラムを保存できませんでした。デバイスIDEにプログラムをロードし、実行する前に保存する必要がありました。最新のDesktop IDEでは、Windows CEデバイスで実行可能なアプリケーションを作成します。
  5. Desktop IDEで.nsbファイルの読込みおよび保存が可能

    これまでのバージョンでは、.txtフォーマットしか読み込めませんでした。最新版ではデバイス上で作成した.nsbアプリケーションの読込みが可能です。
  6. \Lang\Str_Tableを変更することによって、IDEのローカライズが可能

    IDEの全てのメッセージはこのテーブルに入っています。Tools...Optionsからご自分の言語にあったテーブルを選ぶことができます。これはIDEを他言語にローカライズするためにしようします。日本語およびドイツ語のテーブルを追加する予定です。

  7. \Toolsに入っているサードパーティのツールがメニューに表示

    サードパーティによるツールが、NS Basicのデスクトップ環境に融合できます。Toolsフォルダーに入れるだけで、次回NS Basicの起動後は、自動的にToolsメニューに現れます。
  8. Form_Load と Form_Unload をサポート

    NS Basic/CEはフォームがロードされた時に呼ばれるForm_Loadサブルーチンをサポートします。シンタックスは
      Sub Form1_load()
        'your code
      End Sub
    このコードはあなたのプログラムのどこにでも配置可能です。フォームがロードされた後すぐに実行されます。CE Screenにあるフォームをダブルクリックすると、このロードサブルーチンが現れます。

    注:フォームがロードされている時、テキストボックスの初期セット値がtextbox_changeイベントを発生させます。このイベントを無視するには、以下のラインをtextbox_changeコードの一番先頭に入れて下さい。

      if form1(0)=false then exit sub
    フォームのロードが完了すると、form1(0)にTrueが入ります。
  9. ヘルプの内容が充実

    ハンドブックのリファレンスセクションをコンパイルし、Helpメニューに収めました。全てのステートメント、ファンクション、およびコマンドの説明とサンプルが、Desktop IDEから閲覧可能です。
  10. 新共有ライブラリ:NSBPhoneは電話サポートを追加

    Pocket PC Phone Editionデバイスの電話機能へアクセスを可能にする、共有ライブラリを追加しました。
  11. 新しいシリアル番号システムを導入

    デスクトップおよびデバイスIDEを動作させるには、新しいシリアル番号が必要になります。変更に伴ってご迷惑をお掛けいたしますが、他のユーザのシリアル番号を使った違法ユーザが問題になっておりました。新しいシリアル番号を受け取りましたら、他人に漏らさないようお願いいたします。
  12. 暗号化している時に保存すると発生する問題を解決

    いくつかのデバイスでは、暗号化している時にプログラムを保存すると、再度読み込めない問題がありました。この問題は解決され、暗号化されたプログラムは当人しか読み込めないようになりました。

4.0.1

  1. チュートリアル1と2を追加。
  2. シリアル番号が入力されていなければ、デスクトップIDEはデモ・モードで動作する。
  3. Help、デバイスIDE、VNSBのバージョン番号が4.0.1をセット。
  4. EmCE: BYEの処理が向上。
  5. HPCフォーマットのCE Screenで、オブジェクトハンドルが正しい位置に配置されるようになった。
  6. TabStripコントロールは、(tabs)アイテムが表示されないように変更。
  7. テキストボックスに空白を設定すると、次の読み込みの際にも空白のまま。
  8. フォームの追加と削除の際のError 9を修正。
  9. メニューの編集の際のError 5を修正。
  10. ComboBoxに新しいプロパティ:ExpandedHeight(デザイン時に設定)
  11. 新しいGridの名前変更の際のError 5を修正。
  12. 新しいイベント:Output_Close がNS Basicを閉じる際に送られる。(下記参照)
  13. EmCE: Financeコントロールは、AddObjectを使うと動作する。(Tech Note 11を参照)
  14. メニューから、IDEとRuntimeをデバイスにインストールする際のError 53を修正。
  15. 接続されているデバイスに基づいて、ダウンロードパスは自動的に設定される。
  16. nullプログラムを起動する際のError 91を修正。
  17. 新しいプログラムをスタートする時の適切なプログラム名の設定。
  18. 新しいプロパティ:Enabled(下記参照)
  19. 新しいプロパティ:Tag(下記参照)
  20. 新しいプロパティ:Hwnd(下記参照)
  21. IDEの最大化状態を保存。
  22. IDEのViewメニューのチェックマーク状態を保存。
  23. 新しいイベント:Form_Unload(下記参照)
  24. 100以上のオブジェクトが追加された時、適切な名前が付加。
  25. KillFocusステートメントは、現オブジェクトからフォーカスを取り除く。
  26. CurrentPathグローバルプロパティは、現プログラムへのパス名を返す。
  27. NSBVersionは、現NSBバージョン番号を返す。
  28. CommandButtonオブジェクトに、新しくValueプロパティが追加。
  29. 日付変数を使って、Dateオブジェクトのdateプロパティが設定可。
  30. NSBPhoneサンプル更新。
  31. ADOCEサンプル更新。
  32. デスクトップは生成コードが解読できなくても、読み込みは行う。
  33. Pocket PC用に、CE Screenのサイズを正しく設定。
  34. CE ScreenとEmCEに、本物らしくメニューバーが追加。
  35. RuntimeとFatインストーラをCDに追加。
  36. オンラインヘルプは新規項目を含み、多くの修正が加えられた。
  37. 壊れたプロジェクトを開く際のエラーを修正。
  38. エラーを含むコードの扱いを向上。
  39. スクリーン入れ替えに於ける、ActiveXコントロールのアップロードの際のError 735を修正。
  40. 長いプログラムをデバイスに上書きする際のエラーを修正。

4.0.1に伴うドキュメント

  1. 新しいOutput_Closeイベント:このイベントはアプリケーションが動作中に、クローズボックスがタップされると送られます。また、Pocket PCデバイスの場合は、最小化ボタン(右上の[X])が押されると、このイベントが発生します。下のコードは、Pocket PCで、NS Basicプログラムを最小化する代わりに、終了させます。
    sub Output_close()
    	bye
    end sub
    
  2. BottonとRightプロパティは廃語扱いにしましたので、代わりにHeightとWidthを使います。
  3. 新しいプロパティ:Enabled このプロパティは全てのNSBオブジェクト(ツールボックスにあるオブジェクト)に利用できます。デフォルトはTrue。Falseにセットされた場合は、オブジェクトはクリックを認識しませんので、オブジェクトを無効にする場合に使います。現在このプロパティは、コードからしかアクセスできません。Desktop IDEやVNSBのプロパティのリストには、まだ入っていません。
  4. 新しいプロパティ:Tag このプロパティは全てのNSBオブジェクト(ツールボックスにあるオブジェクト)に利用できます。これはユーザによってセットされる文字列を保管します。特定のオブジェクトに、必要な情報を割り当てることができます。現在このプロパティは、コードからしかアクセスできません。Desktop IDEやVNSBのプロパティのリストには、まだ入っていません。
  5. 新しいプロパティ:Hwnd このプロパティは全てのNSBオブジェクト(ツールボックスにあるオブジェクト)に利用できます。これはコントロールのWindowsハンドルを持っています。MGCEWinAPI32.dllなどのシステムAPI関数と一緒にお使い下さい。このプロパティは読み込み専用で、実行時のみアクセス可能です。
  6. 新しいイベント:Form_unload このイベントはフォームが閉じられる時に送られます。Desktop IDEで作られたプログラムに存在します。
  7. Commandbutton.Value Valueに1をセットすると、ボタンが反転して、イベントが発生し、そして値が0に戻ります。

4.0.2

  1. TextBoxサンプルを更新。
  2. BackColorとForeColorがSystemPaletteカラーを使えるようになった。
  3. 新しいプロパティ:ParentHWND(下記参照)
  4. 新しいプロパティ:WindowLong(下記参照)
  5. 新しいプロパティ:Timer(下記参照)
  6. 新しいOptionButtonのプロパティ:Group(下記参照)
  7. 新しいコントロール:Frame
  8. 新しいコントロール:TriButton
  9. 新しいコントロール:HScrollBar
  10. 新しいコントロール:VScrollBar
  11. Gridの名前変更時のError 5を修正。
  12. Combobox.integralHeight用に生成されるコードにあったバグを修正。
  13. Remote Display Control のサポートを追加。(下記参照)
  14. .nsbファイルの暗号化を改良。
  15. 新しいサンプル:NewObjects.nsb
  16. 日本語ヘルプの追加。

4.0.1に伴うドキュメント

  1. Remote Display Control:このユーティリティは、PCからActiveSyncによって接続されているWindows CEの操作を可能にします。マウスとキーボードが使えるため、デバイス上のもののテストが断然速くなります。さらに、簡単にスクリーンショットが作れます。
    http://www.webattack.com/get/pocketpc/msremotedisplay.html
  2. 新しいプロパティ:ParentHwnd このプロパティは全てのNSBオブジェクト(ツールボックスにあるオブジェクト)に利用できます。他のオブジェクトを指定して、オブジェクトの親(parent)をセットします。一般的にはFrameと共に使い、parentのshow/hideに従属します。このプロパティがセットされると、TopとLeftプロパティは、全体のスクリーンではなく、parentの左上からの長さになる。
  3. 新しいプロパティ:WindowLong このプロパティは全てのNSBオブジェクト(ツールボックスにあるオブジェクト)に利用できます。これを使うと、オブジェクトの外観を制御できます。詳細はマイクロソフトのWindowLongに関するドキュメントを取得して下さい。
  4. 新しいプロパティ:Timer このプロパティは全てのNSBオブジェクト(ツールボックスにあるオブジェクト)に利用できます。百分の一秒単位で数値を設定し、時間が経過後にイベントを発生させます。0が設定された場合、イベントは発生しません。
  5. myButton.timer=100
    
    sub myButton_timer()
          msgbox "myButton Timer event!"
    end sub
  6. 新しいプロパティ:Group OptionButtonコントロールにのみ適用。複数のOptionButtonを作られた順番でグループにまとめます。GroupをTrueにセットすると、新しいグループが始まります。Falseをセットすると、現在のグループが継続されます。従って、グループの1メンバーしかTrueの値を持っていません。グループ内のどのメンバーでもTrueをセットすると、他のメンバーは自動的にFalseがセットされます。NewObjectサンプルを参照して下さい。
  7. 新しいコントロール:Frame このコントロールは、四角い枠です。オプションとして、枠の上部にタイトルも付けられます。ParentHwndを使って、枠内に入れた他のオブジェクトを従属させるのに便利です。
  8. 新しいコントロール:TriButton Tributtonコントロールはチェックボックスに似ていますが、3つの状態(Unchecked、Checked、Disabled)を持っています。タップすることによって、順番に3つの状態に変わります。NewObjectサンプルを参照して下さい。
  9. 新しいコントロール:HScrollBarとVScrollBar これらのコントロールは横向きと縦向きのスクロールバーです。NewObjectサンプルを参照して下さい。(注記:デバイス上ではまだ、正常に動作しません)