HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
1228
ちたんオブジェクトID番号の事前取得6解決


ちたん

リンク

2006/12/28(Thu) 22:21:22|NO.4482

HSPいつも利用させてもらっています。ちょっとした要望なのですが
 オブジェクトを配置したいときに、
割り当てる変数をオブジェクトID順の配列変数で指定しようと思いましたが、
事前に次に割り当てられるオブジェクトIDが分からないため、

一度ダミーの変数を割り当てたオブジェクトを作成して
IDだけ取得して値を保持しておき
clrobjした後、
再度、オブジェクトを作成するときに、
この値を利用して配列変数の割り当てを実現しています。

 この方法でHSPが自動的に割り当てるIDの順番が完全に一致するのか分かりません。
事前にHSPが割り当てるオブジェクトIDの順番はわからないのでしょうか?
できるなら教えてください。またできないなら要望したいです。
宜しくお願いします。



この記事に返信する


Irisawa

リンク

2006/12/28(Thu) 23:29:31|NO.4483

ここでいうオブジェクトというのはHSPのオブジェクトつまりコントロールのことで
しょうか。
一応、基本的にHSPで作成した場合は0から連番で作成されます。
(ただし、完全にそうであると言い切れるわけではないのでオブジェクトを作成した瞬間に
statの値を確保した方が確実です)

ちょっと、やりたいことの詳細がよく分からないのですがオブジェクトを順番に配列に
格納したいということでしょうか。
ちょっとやってみようとしたのですが実現ができませんでした。



ちたん

リンク

2006/12/29(Fri) 18:56:31|NO.4511

説明が下手ですみません。

>>ここでいうオブジェクトというのはHSPのオブジェクトつまりコントロールのことで
>>しょうか。

はい、そのとおりです。つまりオブジェクトの配置情報(XY軸や高さ、幅)などを
配列変数に保存したくて、そのときID番号の順と同じにして
綺麗に並べられないかと思ったわけです。
ちょっとややこしいことを注文したみたいですみませんでした。
 HSPのIDの再割り当ての方法が
一番最後に削除したオブジェクトIDの番号を
次に作るオブジェクトIDの番号に割り当てる仕様なら問題ないと思います。
プログラム的にはちょっとややこしいことをしているので、
難しそうなら今のままでもとりあえず問題ないです。



kz3

リンク

2006/12/29(Fri) 19:51:42|NO.4514

>一番最後に削除したオブジェクトIDの番号を次に作るオブジェクトIDの番号に割り当てる仕様なら問題ないと思います。

残念ながらそのような仕様ではありません。
『使われていないIDの一番若いものから割り当てられる』です。

// 配列変数のチェック状態はデバッグウィンドウで確認してください #include "user32.as" #module #deffunc objtex int p1, str p2 SetWindowText objinfo( p1, 2 ), p2 return #global repeat 5 chkbox "", chk.cnt objtex stat, "Check"+stat ; IDが分かってからタイトル変更 loop foreach chk if cnt&1: clrobj cnt, cnt ; 奇数IDをIDの若いものから削除 loop // どのIDが再利用されるか事前に分からないと、 // 配列変数の要素を指定できないということですね? ; chkbox "", chk.??? foreach chk if cnt&1{ chkbox "", chk.cnt ; 奇数のIDが削除されたことが分かっていれば問題はない objtex stat, "Check"+stat } loop
事前に割り当てられるIDを取得することも可能ですが、まだ何もモノを書いていません。
hsp2.61用のサンプルでしたらHSP開発wikiにあったと思うので、hsp3用のサンプルがあがるまでそちを読んでみてください^^;(的外れな回答)

HSP開発wiki(http://hspwiki.nm.land.to/) : オブジェクトID



ちたん

リンク

2006/12/30(Sat) 04:43:36|NO.4526

早いレス、有り難う御座います。Wikiで調べてみます。



kz3

リンク

2006/12/31(Sun) 10:16:50|NO.4556

HSP開発wikiに少し書きました。
まだ続きを書く予定はありますがとりあえずお望みのものは提供できたかと思います。

「標準命令で実装してほしい!!」ということなら、HSPWikiの要望の方に出すといいと思います。
その際は、具体例を示して開発側に「なるほど!ごもっともだ!」と思わせられると要望が取り入れられると思います。(笑)



ちたん

リンク

2007/1/1(Mon) 23:09:28|NO.4616

HSP開発wiki、読ませていただきました。
参考にさせていただきます。
BMSCR構造体はまだ勉強していないのでまずはそこからになりそうです。
ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.