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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0525
Rコンボボックスが消える・・・11解決


R

リンク

2007/5/25(Fri) 06:28:12|NO.8457

下記のスクリプトでコンパイル&実行をすると、
実行毎にコンボボックスがランダムな感じに消えてしまいます。
原因が解らない為、どこを直せばいいのかも解りません。
原因が解る方いましたら、御口授願います。


#uselib "gdi32" #cfunc GetStockObject "GetStockObject" int #func SetBkMode "SetBkMode" int, int screen , 396, 341 syscolor 15 boxf color combox_st="" *start pos 0,1 input A,90,20 hinput1 = objinfo (stat, 2) sendmsg hinput1, $CF, 1 pos 90,1 input B,33,20 hinput1 = objinfo (stat, 2) sendmsg hinput1, $CF, 1 pos 123,1 input C,75,20 hinput1 = objinfo (stat, 2) sendmsg hinput1, $CF, 1 pos 0,21 input E,123,20 hinput1 = objinfo (stat, 2) sendmsg hinput1, $CF, 1 pos 123,21 input D,75,20 hinput1 = objinfo (stat, 2) sendmsg hinput1, $CF, 1 pos 0,41 input prmbname1,123,20 hinput21 = objinfo (stat, 2) sendmsg hinput21, $CF, 1 pos 0,61 input prmbname2,123,20 hinput22 = objinfo (stat, 2) sendmsg hinput22, $CF, 1 pos 0,81 input prmbname3,123,20 hinput23 = objinfo (stat, 2) sendmsg hinput23, $CF, 1 pos 0,101 input prmbname4,123,20 hinput24 = objinfo (stat, 2) sendmsg hinput24, $CF, 1 pos 0,121 input prmbname5,123,20 hinput25 = objinfo (stat, 2) sendmsg hinput25, $CF, 1 pos 0,141 input prmbname6,123,20 hinput26 = objinfo (stat, 2) sendmsg hinput26, $CF, 1 pos 0,161 input prmbname7,123,20 hinput27 = objinfo (stat, 2) sendmsg hinput27, $CF, 1 pos 0,181 input prmbname8,123,20 hinput28 = objinfo (stat, 2) sendmsg hinput28, $CF, 1 pos 0,201 input prmbname9,123,20 hinput29 = objinfo (stat, 2) sendmsg hinput29, $CF, 1 pos 0,221 input prmbname10,123,20 hinput30 = objinfo (stat, 2) sendmsg hinput30, $CF, 1 pos 0,241 input prmbname11,123,20 hinput31 = objinfo (stat, 2) sendmsg hinput31, $CF, 1 pos 0,261 input prmbname12,123,20 hinput32 = objinfo (stat, 2) sendmsg hinput32, $CF, 1 pos 0,281 input prmbname13,123,20 hinput33 = objinfo (stat, 2) sendmsg hinput33, $CF, 1 pos 0,301 input prmbname14,123,20 hinput34 = objinfo (stat, 2) sendmsg hinput34, $CF, 1 pos 0,321 input prmbname15,123,20 hinput35 = objinfo (stat, 2) sendmsg hinput35, $CF, 1 pos 198,1 input prmbname21,123,20 hinput41 = objinfo (stat, 2) sendmsg hinput41, $CF, 1 pos 198,21 input prmbname22,123,20 hinput42 = objinfo (stat, 2) sendmsg hinput42, $CF, 1 pos 198,41 input prmbname23,123,20 hinput43 = objinfo (stat, 2) sendmsg hinput43, $CF, 1 pos 198,61 input prmbname24,123,20 hinput44 = objinfo (stat, 2) sendmsg hinput44, $CF, 1 pos 198,81 input prmbname25,123,20 hinput45 = objinfo (stat, 2) sendmsg hinput45, $CF, 1 pos 198,101 input prmbname26,123,20 hinput46 = objinfo (stat, 2) sendmsg hinput46, $CF, 1 pos 198,121 input prmbname27,123,20 hinput47 = objinfo (stat, 2) sendmsg hinput47, $CF, 1 pos 198,141 input prmbname28,123,20 hinput48 = objinfo (stat, 2) sendmsg hinput48, $CF, 1 pos 198,161 input prmbname29,123,20 hinput49 = objinfo (stat, 2) sendmsg hinput49, $CF, 1 pos 198,181 input prmbname30,123,20 hinput50 = objinfo (stat, 2) sendmsg hinput50, $CF, 1 pos 198,201 input prmbname31,123,20 hinput51 = objinfo (stat, 2) sendmsg hinput51, $CF, 1 pos 198,221 input prmbname32,123,20 hinput52 = objinfo (stat, 2) sendmsg hinput52, $CF, 1 pos 198,241 input prmbname33,123,20 hinput53 = objinfo (stat, 2) sendmsg hinput53, $CF, 1 pos 198,261 input prmbname34,123,20 hinput54 = objinfo (stat, 2) sendmsg hinput54, $CF, 1 pos 198,281 input prmbname35,123,20 hinput55 = objinfo (stat, 2) sendmsg hinput55, $CF, 1 pos 198,301 input prmbname36,123,20 hinput56 = objinfo (stat, 2) sendmsg hinput56, $CF, 1 pos 198,321 input prmbname37,123,20 hinput57 = objinfo (stat, 2) sendmsg hinput57, $CF, 1 objsize 75 pos 123,41 combox prmblevel1,,combox_st pos 123,61 combox prmblevel2,,combox_st pos 123,81 combox prmblevel3,,combox_st pos 123,101 combox prmblevel4,,combox_st pos 123,121 combox prmblevel5,,combox_st pos 123,141 combox prmblevel6,,combox_st pos 123,161 combox prmblevel7,,combox_st pos 123,181 combox prmblevel8,,combox_st pos 123,201 combox prmblevel9,,combox_st pos 123,221 combox prmblevel10,,combox_st pos 123,241 combox prmblevel11,,combox_st pos 123,261 combox prmblevel12,,combox_st pos 123,281 combox prmblevel13,,combox_st pos 123,301 combox prmblevel14,,combox_st pos 123,321 combox prmblevel15,,combox_st pos 321,1 combox prmblevel21,,combox_st pos 321,21 combox prmblevel22,,combox_st pos 321,41 combox prmblevel23,,combox_st pos 321,61 combox prmblevel24,,combox_st pos 321,81 combox prmblevel25,,combox_st pos 321,101 combox prmblevel26,,combox_st pos 321,121 combox prmblevel27,,combox_st pos 321,141 combox prmblevel28,,combox_st pos 321,161 combox prmblevel29,,combox_st pos 321,181 combox prmblevel30,,combox_st pos 321,201 combox prmblevel31,,combox_st pos 321,221 combox prmblevel32,,combox_st pos 321,241 combox prmblevel33,,combox_st pos 321,261 combox prmblevel34,,combox_st pos 321,281 combox prmblevel35,,combox_st pos 321,301 combox prmblevel36,,combox_st pos 321,321 combox prmblevel37,,combox_st hBrush = GetStockObject () oncmd gosub *ctlcolorstatic, $138 stop *ctlcolorstatic if lparam = hinput20 | lparam = hinput21 | lparam = hinput22| lparam = hinput23 | lparam = hinput24 | lparam = hinput25 | lparam = hinput26 | lparam = hinput27 | lparam = hinput28 | lparam = hinput29 | lparam = hinput30 | lparam = hinput31 | lparam = hinput32| lparam = hinput33 | lparam = hinput34 | lparam = hinput35 | lparam = hinput36 | lparam = hinput37 | lparam = hinput38 | lparam = hinput39 | lparam = hinput40 | lparam = hinput41 | lparam = hinput42| lparam = hinput43 | lparam = hinput44 | lparam = hinput45 | lparam = hinput46 | lparam = hinput47 | lparam = hinput48 | lparam = hinput49 | lparam = hinput50 | lparam = hinput51 | lparam = hinput52| lparam = hinput53 | lparam = hinput54 | lparam = hinput55 | lparam = hinput56 | lparam = hinput57 | lparam = hinput58 | lparam = hinput59 { SetBkMode wparam, 1 return hBrush } return



この記事に返信する


KENTA

リンク

2007/5/25(Fri) 15:16:13|NO.8458

オブジェクトが多すぎて、処理に時間がかかって
消えているように見えているだけだとは思いますが。
もうちょっとオブジェクトを減らすことをおすすめいたしますが・・・、
どうでしょうか?



R

リンク

2007/5/25(Fri) 17:23:30|NO.8459

入力ボックスには異常は無くて
コンボボックスだけ、それも実行毎にランダムに消えるのは仕様みたいな物なのでしょうか?
それも頭に浮かんだのですけれど、オブジェクトが多くて処理に時間がかかるだけだとそれが説明つかなくて・・・



f

リンク

2007/5/25(Fri) 18:03:24|NO.8460

XPのhomeに3.1β9だけど、家では特にどこかが消えている様子は見受けられない・・・。



りさ

リンク

2007/5/25(Fri) 18:57:54|NO.8461

こんにちわ、りさです。

>原因が解らない為、どこを直せばいいのかも解りません。

あたしの環境でも R さんのスクリプトは、正常に動作していました。

色々試してみたのですが、原因はスクリプト外にあるような気がします。

screen scm = "A\nB\nC" objsize 64, 20 repeat 24 y = (cnt * 20) repeat 10 pos (cnt * 64), y ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; //*/ combox c, 100, scm ;; コンボ /*/ c(i) = str(i) ;; インプット input c(i) ;; //*/ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; i ++ await 30 loop loop stop
comboxは、150〜153個程度で変動します。
input は、240個以上表示出来ていました。

WinME (256MB) [hsp31b9]で、試した結果の報告です。

なにか制限があるのかもしれません・・・。



pizza

リンク

2007/5/25(Fri) 19:34:48|NO.8465

コンボボックスはユーザーリソースを多めに消費するみたいです。
ComboLBox(リスト部)も作成してるからでしょうね。

作成に成功しているか試してみて下さい↓

#include "user32.as" IsWindow objinfo_hwnd(id) if stat == 0 : dialog "オブジェクト作成失敗"



pizza

リンク

2007/5/25(Fri) 20:13:05|NO.8467

よく考えたら、XPとかだとリソース制限なかったですよね?

>それも実行毎にランダムに消える

って書いてあるし、的外れだったかも・・・



KENTA

リンク

2007/5/25(Fri) 23:22:36|NO.8472

あ、そうか!!
パソコンの種類によって動き方が違うのを忘れてました。
>Rさん
・あなたのパソコンの種類は何ですか?
・何のHSPの種類で作ったんですか?(hsp3.0b9など)
教えてください。(関係ないかも知れないが・・・・)



R

リンク

2007/5/26(Sat) 01:13:56|NO.8477

Windows98にHSP3.0b9です。
Windows98だからなのかなぁ・・・
ちなみにメモリは190MBです。



pizza

リンク

2007/5/26(Sat) 01:30:00|NO.8479

>Windows98だからなのかなぁ・・・

可能性大ですね。9x(95,98,Me)だとシステムリソースが制限されているので・・・
「リソース メーター」等でシステムリソースを監視しながら試してみてください。


>ちなみにメモリは190MBです。

メモリを増やしてもシステムリソースは増えません。
常駐ソフトをなるべく減して、リソースを節約するしかないです。



a

リンク

2007/5/26(Sat) 02:18:41|NO.8483

つーか、なんで誰もスクリプト長すぎ、とか注意しないの?
どうみたってループでオブジェクト配置すればデバッグプログラム作れるんじゃねえの?

まぁ、そういうのは
  オブジェクトが多すぎる?→じゃぁ適当にオブジェクトを配置してみようか
って考えができるからなのかもしれんが。



R

リンク

2007/5/29(Tue) 07:50:22|NO.8620

違う環境で試してみた所、20回中20回正常に機能しました。
ご迷惑をおかけして済みませんでした。
そしてアドバイスありがとうございました。



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