アトム関数の一覧表示
アトムとはアプリケーションの内部、またはアプリケーション間で
一群の文字列を共有する仕組みである。
アトムには「ローカルアトム」と「グローバルアトム」があり、グローバルアトムを使えば
複数のプロセス間で情報を共有できる。
文字列とそれに対応する16ビット値(Integer)との一連の組み合わせを「アトムテーブル」という。
広義の意味ではこの仕組みのことを「アトム」というが、
狭義の意味ではこの16ビット値のことを「アトム」という。
アトムのイメージとしては「メモリ中に存在するリストボックス」のようなものである。
もちろんリストボックスとは全く関係ないが、文字列を検索する関数や
項目の追加・削除を扱う関数もある。そうゆう意味ではメモリ中に存在するリストボックスと取れる。
このアトムの仕組みはDDE(Dynamic Data Exchange)の内部の仕組みとして使われている。
ローカルアトム・・・ローカルアトムは、特定のアプリケーションの中でのみ有効なアトムである。
別のアプリケーションとデータを共有することができない。
作成したローカルアトムテーブルは、アプリケーションが終了すると
自動的に削除される。
グローバルアトム・・グローバルアトムは別のアプリケーション(プロセス)からも
アクセス可能なメモリに作成されるので
複数のアプリケーションの共有データとして使うことができる。
共有されるようにするため、アプリケーションが
終了しても自動的に削除されない。
そのため必ず明示的に削除する必要がある。
アトムの種類・・・・アトムには「文字列アトム」と「整数アトム」がある。
文字列アトム・・・・文字列アトムは文字列とそれに対応する16ビット値との組み合わせで、
次のような性質を持つ。
@ 文字列アトムの範囲は&HC000&(49,152)〜&HFFFF&
A 文字列は大文字・小文字の区別がない
B 文字列を検索するときは、文字列の全てが一致しなければならない
C 文字列の長さは255バイト以下である
D 各アトムの文字列は参照カウントを持ち
アトムテーブルに同じ文字列を追加した場合に
参照カウントを一つ挙げ、削除したときに参照カウントを一つ下げる
参照カウントが0になったとき、初めて削除される
整数アトム・・・・・整数アトムは次のような性質を持つ。
@ 整数アトムの範囲は&H1(1)〜&HBFFF&(49,151)です。
A 登録する整数アトム値に対応する文字列の書式は
整数値の先頭に「#」を付ける
例えば323に対応する文字列は#323になる
B 文字列アトムのような参照カウントはない
最大エントリ数・・ ローカルアトムテーブルの最大エントリ数のデフォルトは37である。
しかし、InitAtomTable()関数でこのエントリ数を変えることができる。
グローバルアトムテーブルの場合、37に固定されている。