[Tips]Borland C++Builder ちょいテク No.01at TECH
[Tips]Borland C++Builder ちょいテク No.01 - 暇つぶし2ch253:デフォルトの名無しさん
08/09/09 15:55:51
ヒント: win32api アイドルループ

254:253
08/09/09 15:58:14
てか、検索書けると、
>C:\Program Files\Borland\CBuilder6\Source\vcl\forms.pas 6704: procedure TApplication.ProcessMessages;
まんまソース見えるじゃん。

255:デフォルトの名無しさん
08/09/09 16:12:04
ソースみれてもエラー出るつってんだよクズしねよ

256:252
08/09/09 16:14:52
誰でもいいからはよ答えんかいヴォケが
使えん奴ばっかりやのホンマに

257:デフォルトの名無しさん
08/09/09 16:27:58
>>255-256は僕じゃありません><
でも僕も同じ事を言いたいです><

早く教えてくださいこの役立たず共よ><

258:デフォルトの名無しさん
08/09/09 16:33:29
この糞共が
さっさと答えろっつーてんだろが

259:デフォルトの名無しさん
08/09/09 16:35:08
ほんとお前らって役にたたねーよな

260:デフォルトの名無しさん
08/09/09 17:23:41
>>253-259
ケンカをやめて、二人を止めて~わたしの為に争わないで~もう、これ以上~

って、すみません。
>>253,254 様の書き込みでソースパクって来たのですが、
Assigned() が判らない・・・検索に掛からない…
う~ん泣き

261:253
08/09/09 18:35:55
>Assigned()

これは、関数ポインタが設定(=アサイン)されているか?
ということを確認する関数。

どういうことかっていうと、OnClickみたいなイベントハンドラって関数ポインタ型になってるじゃん?

で、IDEでイベントハンドラ設定すると、

OnClick := ButtonClick;

みたいなコードで関数ポインタが設定されるわけ。

でコンポーネント側は、
>if (Assigned(OnClick))
> OnClick(self, , ,)
みたいにイベントハンドラが設定されてたら関数ポインタを実行(=関数を実行)するわけ。

262:253
08/09/09 18:37:49
ま、Assignedコールもできるでしょうし、意味的には、

>if (OnClick != NULL) {
> OnClick(self, , , );
>}

と等価です。

また、OnClickみたいな関数ポインタを使わず、
関数コール直接書いてもおk。

263:253
08/09/09 18:42:52
>で、IDEでイベントハンドラ設定すると、
>Button1.OnClick := Button1Click;
>みたいなコードで関数ポインタが設定されるわけ。

の方が正確かな。

ま、上記のような、コンポーネントがイベントハンドラを実行する仕組みは理解した方が良いが、
どーしても理解できない場合は、Win23APIべた書きして下さい:



URLリンク(www.m--takahashi.com)
// アイドリング処理 グローバル関数


264:デフォルトの名無しさん
08/09/09 21:39:44
>>261-263
すっげー。思わずコピペ保存しちまった。

>>252の者です。
ありがとう御座います、なんとか回避できました。
ていうか、元バグが原因で発生していたので、
ProcessMessages の様な事しなくて済みました。

今、社内では、誰だよこのアプリ作ったのは!!って騒ぎになってます。

265:デフォルトの名無しさん
08/09/18 20:10:21
だれなん?

266:デフォルトの名無しさん
08/09/19 08:49:35
作った本人何て言ってる?

267:デフォルトの名無しさん
08/09/20 19:37:43
ドキュメントどころかソースに名前がないのは酷いな

268:デフォルトの名無しさん
08/10/20 18:37:03
1ヵ月も前の話題にレス。

デバッグしてて VCL の中に入っていくといきなり Pascal になるからびびるよな。
しょーがないので、読める程度に文法知っておこうと文法書買って、せっかくだから
ちょっと書いてみるかで付属の Delphi(BCB 5 Pro には Delphi 4 が付属してた)使ってみたら
そのまま Delphi にハマってしまった。

269:デフォルトの名無しさん
08/10/21 02:28:29
C++Builderなら
プロジェクトにC++とDelphiを混在させることができるから便利。
Delphiで書きたいとこは、Delphiのファイルにする。
自動的にPascalファイルから、hppファイルを作成してくれる。
Delphiのサンプルソースはあるけど、C++での書き方がわからないという場合
無理してC++に書き換える必要はなく
そのままDelphiのソースが使えるのが、C++Builder


270:デフォルトの名無しさん
08/10/30 12:45:08
あらら、C++Builder使ってて、標準ライブラリのPascalコードに迷い込んだ私が通りますよ。

ところで、その標準ライブラリのソースを弄りたくなったんですが、
どうやってライブラリに反映させたらよいのでしょう?
ご存知の方、いらっしゃいませんか?

具体的には、...\source\Win32\vcl\Forms.pas ですけどね。


271:デフォルトの名無しさん
08/10/30 22:45:54
パッケージ作り直すか、自分のプロジェクトに直接放り込む。

272:デフォルトの名無しさん
08/10/31 09:32:45
>>271
やっぱそうなりますか……
ありがとう。やってみます。

273:デフォルトの名無しさん
08/11/04 18:40:45
Delphi の方法ですが、BCB にも dcc32 はあるみたいだし、使えないかな。
かの中村氏の ML への投稿です。

URLリンク(www2.big.or.jp)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch