日本語プログラミング言語なでしこの公式掲示板

なでしこ の 掲示板

トップ 最新 新規 検索 公式

2019-06-05 18:57:24 -水 曜-

680 : Re:Re:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる - ゲイン さん


  話題項目というのはようするにイメージなんですよね?
 そして、複数の話題項目を作って、同様の処理を行いたいためにグループにしてるんですよね?
 だとしたら、イメージを継承させるんじゃダメなのかなあ???
 自分の言葉足らずな文章で申し訳ございません汗
 このグループには他にもGUI部品を載せているのですが問題点を見やすくするために重要な点だけをまとめています。ですので、GUIグループを
継承する方法はできないと考えています。またグループ内関数も「作る」以外にGUI部品を動かす関数を登録しています。
それでもやっぱり、グループのすべてを公開したほうがよかったのでしょうか... 今回初めての掲示板書き込みなので質問の仕方もまた教えてくださるとうれしいです

雪乃☆雫 さん
 質問に答えていただきありがとうございます!!😄 またお願いします!

(編集パスワード送信)

子記事

親記事 (No.676)
返信した記事(元) (No.678)

この内容(No.680)に返信

この内容(No.680)をダウンロード

この内容(No.680)のテキスト表示


2019-06-05 11:48:03 -水 曜-

679 : Re:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる - UNOパパ さん



■話題項目
 ・イメージ1
 ・内容展開~ 
   イメージ1の0,0を赤色で$10101まで塗る
 ・作る~
   イメージ1をイメージとして作成
 

テストとは話題項目

テストのイメージ1→X=0
テストのイメージ1→Y=0
テストのイメージ1→W=500
テストのイメージ1→H=50
テストのイメージ1のクリックした時は~
 テストの内容展開

文字サイズは50
線色は$10101; 線太さは1
テストのイメージ1の50,0から50,50へ線
テストのイメージ1の0,0を赤色で塗る
テストのイメージ1の60,30を$F5D2D2で塗る
テストのイメージ1の5,-5へ"+"を文字表示

#-----------------------------------

まず、「話題項目」はグループ定義でしかないので、これをインスタンス化するために
「テストとは話題項目」と宣言してます。これで「テスト」は話題項目グループ型の
変数になります。同時に話題項目の「作る」が動作しているので、イメージ1がイメージとして
作成されます。

イメージ1の各要素に値を代入する場合、「テストのイメージ1→X=50」の様にします。
「テスト」と言うグループの中のイメージ1と言う変数が持つXと言う要素に50を代入するって
ことですね。

話題項目がもつメソッド「内容展開」ですが、引数にグループ名を指定して…と言う形に
なっていましたが、そもそも自身の持つイメージ1に色を塗りたいだけなら上記のプログラムの
様な感じでいいはずです。これをコールする場合は、「テストの内容展開」とすればメソッドが
コールされます。

元のプログラムですと、イメージ1を話題項目の中で宣言してただけで、これをインスタンス化
(変数を話題項目型として宣言すること)してなかったのと、「テストのイメージ1」とせずに
「イメージ1」の要素に直接値を代入しようとしてたのでエラーになったのではないでしょうか。


(編集パスワード送信)

子記事

親記事 (No.676)
返信した記事(元) (No.676)

この内容(No.679)に返信

この内容(No.679)をダウンロード

この内容(No.679)のテキスト表示


2019-06-05 08:44:39 -水 曜-

678 : Re:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる - 雪乃☆雫 さん


 うーん・・・?
 話題項目というのはようするにイメージなんですよね?
 そして、複数の話題項目を作って、同様の処理を行いたいためにグループにしてるんですよね?
 だとしたら、イメージを継承させるんじゃダメなのかなあ???
#-----------------------------------------------
■話題項目 +イメージ
 ・内容展開~ 
   自身→名前を言う
   自身の0,0を赤色で$10101まで塗る

 ・作る~
   オブジェクト=VCL_CREATE(自身, 名前, VCL_GUI_IMAGE)。

#----
//   自身→X=0
//   自身→Y=0
   自身→W=500
   自身→H=50
   自身→クリックした時は~
    内容展開。

   文字サイズは50
   線色は$10101; 線太さは1
   自身の50,0から50,50へ線
   自身の0,0を赤色で塗る
   自身の60,30を$F5D2D2で塗る
   自身の5,-5へ"+"を文字表示

AAAとは話題項目
BBBとは話題項目
#-----------------------------------------------
 違ってたらゴメン。

(編集パスワード送信)

子記事

親記事 (No.676)
返信した記事(元) (No.676)

この内容(No.678)に返信

この内容(No.678)をダウンロード

この内容(No.678)のテキスト表示


2019-06-05 02:16:22 -水 曜-

677 : Re:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる - TKI さん


部品にはオブジェクトというメンバがあって、上書きすると操作するオブジェクトが変わります。
とりあえず下記を実行してみてください。
赤色のイメージと青色のイメージが出来上がります。

#-------------------------ここから
ダミーイメージとはイメージ
本命イメージとはイメージ
ダミーイメージを赤色で画面クリア
ダミーイメージのオブジェクトは本命イメージのオブジェクト //←
ダミーイメージを青色で画面クリア
#-------------------------ここまで



今回の場合だと、こんな感じになります。

#-------------------------ここから
//操作用のダミーを用意しておく
ダミーイメージとはイメージ
その可視はオフ

■話題項目
 ・{イメージ=0}イメージ1
 ・内容展開(V)~
       ダミーイメージのオブジェクトはV  //←操作したいオブジェクトを入れる
       ダミーイメージの0,0を赤色で$10101まで塗る
       
 ・作る~
   イメージ1をイメージとして作成
#---- 
   イメージ1→X=0
   イメージ1→Y=0
   イメージ1→W=500 
   イメージ1→H=50 
   イメージ1を画面クリア
   イメージ1→クリックした時は~内容展開(イメージ1→オブジェクト)//←オブジェクトを渡す
   
   文字サイズは50 
   線色は$10101; 線太さは1 
   イメージ1の50,0から50,50へ線 
   イメージ1の0,0を赤色で塗る 
   イメージ1の60,30を$F5D2D2で塗る 
   イメージ1の5,-5へ"+"を文字表示 

AAAを話題項目として作成
#-------------------------ここまで

ちなみにオブジェクトを書き換えていいのかどうかは、よくわかりません
サンプルでも見たことがないので……

(編集パスワード送信)

子記事

親記事 (No.676)
返信した記事(元) (No.676)

この内容(No.677)に返信

この内容(No.677)をダウンロード

この内容(No.677)のテキスト表示


2019-06-05 18:42:28 -水 曜-

676 : グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる - ゲイン さん


 こんにちは!
 自分は今、複数のGUIをいっぺんに操作するために1つのオブジェクトに必要な処理をまとめていっていたのですが、
オブジェクト内の「作る」グループ内関数でイメージ部品のイベントを設定し、処理にそのイメージに対し「塗る」命令を使ったところ

「関数『塗』の実行中にエラーが起きました。モジュール 'dnako.dll' のアドレス 027A4111 でアドレス 00000005 に対する書き込み違反がおきました。(関数)」

とエラーが出てきてしまいます。
 どうか助けてください (* ̄ ̄)//

【ソース】
■話題項目
 ・{イメージ=0}イメージ1

 ・内容展開(V)~ V@イメージ1の0,0を赤色で$10101まで塗る
   
 ・作る~

   イメージ1をイメージとして作成
 

#----
   イメージ1→X=0
   イメージ1→Y=0
   イメージ1→W=500
   イメージ1→H=50
   イメージ1→クリックした時は~内容展開(自身→名前)

   文字サイズは50
   線色は$10101; 線太さは1
   イメージ1の50,0から50,50へ線
   イメージ1の0,0を赤色で塗る
   イメージ1の60,30を$F5D2D2で塗る
   イメージ1の5,-5へ"+"を文字表示


(編集パスワード送信)

親記事

この内容(No.676)に返信

この内容(No.676)をダウンロード

この内容(No.676)のテキスト表示

子記事

693 補足です。Re:みんなさん、ありがとうございます (19-06-15)
692 みんなさん、ありがとうございます (19-06-17)
691 Re:Re:Re:ごめんなさい、やっぱり駄目でした (19-06-11)
690 Re:Re:ごめんなさい、やっぱり駄目でした (19-06-10)
689 Re:ごめんなさい、やっぱり駄目でした (19-06-10)
688 Re:ごめんなさい、やっぱり駄目でした (19-06-10)
687 Re:Re:Re:Re:ごめんなさい、やっぱり駄目でした (19-06-09)
684 Re:Re:Re:Re:ごめんなさい、やっぱり駄目でした (削除)
683 Re:Re:Re:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる (19-06-07)
682 Re:Re:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる (19-06-05)
681 Re:Re:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる (19-06-05)
680 Re:Re:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる (19-06-05)
679 Re:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる (19-06-05)
678 Re:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる (19-06-05)
677 Re:グループ内でGUI部品のイベントを設定し、その部品に対して描画命令を出すとエラーになる (19-06-05)

戻る < < < > > > 次へ




www.eznavi.net