喫茶XRAYトップページ

[スレッド全体
]

[6350] Mouseメッセージの捕獲返信 削除
2012/9/13 (木) 23:23:56 snail3
すみません、また教えて下さい。
TScrollBoxからコンポーネントを作成しました。
作成したコンポーネントでマウスダウンを捕獲したいと思って

  Application.OnMessage := DoMessage;

といったコードを書きました。フォームが1つの時は良かったのですが
、複数のフォームでこのコンポーネントを使うと最初に作った
コンポーネントでマウスイベントが補足できなくなりました。

TScrollBoxにはOnMouseDown イベントが最初から存在しているので
単純に override できればいいんですが、

    procedure DoMouseDown(var Message: TWMMouse; Button: TMouseButton;
      Shift: TShiftState); override;

と適当にコード書いてみましたが「基本クラスで見つかりません」
と怒られてしまいました。

よろしくお願いします。


[6351] Re:Mouseメッセージの捕獲返信 削除
2012/9/14 (金) 01:03:56 Mr.XRARY
▼ snail3さん,どうもです.

>     procedure DoMouseDown(var Message: TWMMouse; Button: TMouseButton;
>       Shift: TShiftState); override;
>
> と適当にコード書いてみましたが「基本クラスで見つかりません」
> と怒られてしまいました。


イヒヒヒッ(いやみな笑い)
実は,DoMouseXXX はないのでございますよ.
MouseXXX ならあるでござんす.
とりあえず,お休みなさい.

継承コンボで,内部で使用するメソッド類を作成する時は,
以下のように,タイピングすると,あるかどうか確認しやすいです.

http://mrxray.on.coocan.jp/Delphi/Others/A_IDETechnique.htm#07

[6352] Re2:Mouseメッセージの捕獲返信 削除
2012/9/14 (金) 08:40:37 snail3
▼ Mr.XRARYさん

ありがとうございました。無事 MouseDown でコーディングできました。

最初 [Ctrl]+[Space] でゴニョゴニョしてみましたが変化なし。

その後アプリソースの OnMouseDown の定義をゴニョゴニョして作成。
無事コンパイルが通りました。今試していますが問題なさそうです。


本当にありがとうございました。


[6354] Re3:Mouseメッセージの捕獲返信 削除
2012/9/14 (金) 18:11:55 Mr.XRARY
▼ snail3さん

> 最初 [Ctrl]+[Space] でゴニョゴニョしてみましたが変化なし。

あらっ!? そのDelphi 値切って購入したとか (^^;

[6355] Re4:Mouseメッセージの捕獲返信 削除
2012/9/14 (金) 22:19:40 snail3
▼ Mr.XRARYさん

DelphiというかPASCALは安全な言語だと思って始めたけど、
しょせん夢物語。

今日も2時間ばかり例外エラーの原因探し。
なんと SaveDialog を実行しただけで
「外部例外 C000071C」が発生します。

もっとも EurekaLog という例外関知ソフトを使わないと例外は
発生しません。

あれ何が言いたいのか、、ただいま愚痴モードに入っています。


[6356] Re5:Mouseメッセージの捕獲返信 削除
2012/9/14 (金) 23:27:46 Mr.XRARY
▼ snail3さん

> なんと SaveDialog を実行しただけで
> 「外部例外 C000071C」が発生します。


あれっ,これと同じようなのをどこかで見たような.
どこだっけなぁ.

> もっとも EurekaLog という例外関知ソフトを使わないと例外は
> 発生しません。


う〜ん.どういうことになっているんでしょうね.
「人の不幸は蜜の味」....  (^^;

[6358] Re6:Mouseメッセージの捕獲返信 削除
2012/9/15 (土) 17:49:51 snail3
▼ Mr.XRARYさん

> > なんと SaveDialog を実行しただけで
> > 「外部例外 C000071C」が発生します。


もし見つけたら教えて下さい。
 


[6360] Re7:Mouseメッセージの捕獲返信 削除
2012/9/15 (土) 18:06:41 Mr.XRARY
▼ snail3さん

> もし見つけたら教えて下さい。

ありました.が.... しかし,スレッドがズタズタです.
で,様子がよくわかりません.
これが一番新しいのかな?

http://www.freeml.com/delphi-users/2688/latest

http://www.freeml.com/delphi-users/topics

[6362] Re8:Mouseメッセージの捕獲返信 削除
2012/9/16 (日) 08:20:30 snail3
▼ Mr.XRARYさん

> http://www.freeml.com/delphi-users/2688/latest

ありがとうございました。
「 OpenDialogやSaveDialogを実行するとコケる件」
このメール読んでいました。 (;_;)

私の場合キャパシティの問題があるようで、ズハリのタイトルなのに
前々覚えていませんでした。
DEKOさんの方法で無事エラー発生なくなりました。

ありがとうございました。


procedure TForm9.SpeedButton1Click(Sender: TObject);
begin
  SaveDialog1.Execute;  // この後Closeで例外エラー発生
end;
      ↓修正版
procedure TForm9.SpeedButton1Click(Sender: TObject);
begin
  UseLatestCommonDialogs := False;  // ←DEKOさん解決策
  SaveDialog1.Execute;
end;


[6363] OpenDialogやSaveDialogを実行するとコケる件返信 削除
2012/9/16 (日) 14:08:39 Mr.XRARY
▼ snail3さん

> 私の場合キャパシティの問題があるようで、ズハリのタイトルなのに
> 前々覚えていませんでした。


私も偶然です.うろ覚えです.

> DEKOさんの方法で無事エラー発生なくなりました。

あらっ.そうですか.よかったです.
こんなやり取りができるのも雑談系の利点ですね.

# DEKOさんの助言に基づき,タイトル変更しました(笑)

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82