トップページ⇒tech
988コメント332KB

C Builder相談室 Part3

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
C++Builderに関する質問・回答や議論等を行う相談室スレッド。
過去スレ・関連サイトは>>2-5あたり。
0421デフォルトの名無しさんNGNG
>>420
ありがとうございます!!いろいろ試してみた所、C++Builder6でDelphi用の
WindowsXPコンポーネントが使えるようになりました。

C++BuilderはDelphi相当のコンパイラを内蔵してるんですね!全然知りませ
んでした。
0422名無し~3.EXE NGNG
>421
相当っていうか、全く同じもの・・・。
0423デフォルトの名無しさんNGNG
おいらも、パスカルで書いてあるコンポーネントを勝手に?コンパイルしてくれたのには最初、驚いたよ。
っていうか、パスカルで書いてあるの知らずにコンポーネントのインストールをして、あとでソースを見たらパスカルだった。
Delphiって文法はだいぶ違うけど、クラスとかはC++とほとんど一緒なんだね。
0424デフォルトの名無しさんNGNG
>>419
いきなりzipファイルへのリンク書くなよ。
説明用のページを貼るくらいはできるだろ?
0425デフォルトの名無しさんNGNG
>>423
ということはDelphiで勉強してもBCBに簡単に移行できるって事?
0426デフォルトの名無しさんNGNG
>>424
スマソ。こちらで確認してからDLして下され。
http://member.nifty.ne.jp/~hiryu/

>>425
BCBはC++の知識が不可欠なので、Delphiからいきなり移ってきて
もキツいものがあると思う。でも、VCLを扱うプログラムだけなら、ほ
とんど何も考えずに手動でコンバートできる。
0427デフォルトの名無しさんNGNG
DelphiとC++Builderは操作は同じなの?
マウスクリックしてどうとか言うの。
0428デフォルトの名無しさんNGNG
>>427
VCLを使って実際にプログラミングしていくやり方の事?一緒だよ。
フォームにコンポーネントを貼り付けるやり方は全く同じ。
ただ、コードはC++で書かないといけないけどね。
0429うーNGNG
VB使えて、C++も理解してれば
VBみたいな感覚で使える?BCB。

欲しいんだけど
0430デフォルトの名無しさんNGNG
>>429
VBとC++も理解してるのなら大丈夫でしょう。
Delphiも使ったことがあればBCBで幸せになること間違いなし。
0431デフォルトの名無しさんNGNG
BCBあればDELは買わなくていいんだな。
というか、無料DEL+BCCでいいんじゃないのか?
0432デフォルトの名無しさんNGNG
>>431
難しいところだね。Delphiの爆速コンパイルを一度味わってしまうと、
なかなか他のコンパイラに移行できない。

BCBはやっぱり重いから、ある程度リッチなマシンでないとストレス
が溜まるかも。

俺はBCB Pro+無料Delで幸せ。DelphiのコンポーネントをBCBに
入れまくって遊んでいる。
0433429NGNG
買っちまったよ。
早速インスコして使ってるんだけど、これヨサゲね。
幸せの予感。


買うとき散々迷ったんだけど、もしかしてVC++.NETも似たようなインターフェース?
0434デフォルトの名無しさんNGNG
>>433
キタ━━━━━━(゚∀゚)━━━━━━ !!
これで仲間が増えた!!
俺はと言えば、Delphiの参考書片手にWindows APIとC++のお勉強。
DelphiのObject Pascalが、ほとんどそのまま何も考えずにC++に
移植できるのは一種の快感だね。
0435デフォルトの名無しさんNGNG
×もしかしてVC++.NETも似たようなインターフェース
○ C#.NET / VB.NET
0436デフォルトの名無しさんNGNG
BCB5なんだけど、

for(i=0;i<cnt;i++){
TTrackBar &bar =* new TTrackBar(this) ;
bar.Parent = this;
bar.Name = "BAR"+IntToStr(i+CRAMAdr);
bar.Top = i*bar.Height+45;
 ・・・略・・・

みたいに TTrackBarを動的に作成しようとしたら cntが1以上の場合
そのクラスは既にありますというエラーが出ます。

で、.PASで
procedure test(AOwner:TWinControl);
var i:Integer;
begin
for i:=0 to 3 do begin
with TTrackBar.Create(AOwner) do
begin
Parent := AOwner;
Top:=Height*i+32;
end;
end;
end;
と試験コードを書いて試した所、やはり同じエラーが出ます (このコードでもDelphi5なら成功する)

いったいどうやればいいんでしょう?
0437436NGNG
どうも >>436の件は、フォームに同じ種類のコンポを張るだけでダメという事で
どうやらBCBが壊れていたようです。インストールからやりなおしてみます。
0438436NGNG
やりなおした結果、 新規プロジェクトで試した場合には現象は止まりましたが
それまで作成していたものは、.dfm .cpp .h .bpr 以外のファイルを全て削除しても直りません
結局、別ディレクトリに作成し、ソースとフォームだけを
コピーして直りました。 なんだか訳が判りません・・・・
0439デフォルトの名無しさんNGNG
>>438
BCB5の賞味期限が切れた模様。BCB6を買いなされ。
0440デフォルトの名無しさんNGNG
>>438
お待ちしています
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )
 | 某|
 (__)_)
0441デフォルトの名無しさんNGNG
VCL使ってプログラムして初めて、256色(パレット対応)なんてモードが
用意されていることがわかったよ。

カナーリ気色悪いモードだねこれは。過去の遺物だとか本には書いてあっ
たけど。

WindowsもインテルのCPUと同じで、互換性を重視してバージョンアップ
していったら、いつの間にかアーキテクチャが汚くなっていたという奴か?
0442デフォルトの名無しさんNGNG
>441
9x系が不安定なそもそもの原因なのでは?>互換性を重視して〜
0443デフォルトの名無しさんNGNG
>VCL使ってプログラムして初めて、256色・・・
BIOS(SVGA)で対応している基本的なモードの一つだから当然だろ
0444デフォルトの名無しさんNGNG
>>443
なんでVGAと
0445デフォルトの名無しさんNGNG
>>441
256色インデックス(パレット)付カラーは 今でもGIFでおなじみだと思ったが
0446429NGNG
うわー、今まで簡単なツール類はVBで作ってたんだけど
BCBマンセー気味に。

はぁはぁ、もっとVCLが欲しい、、プロ版買っとくんだた(´_`
0447デフォルトの名無しさんNGNG
>>446
俺はBCBプロフェッショナルと
デルファイ6プロフェッショナルを
買ったが手に入れた事で満足してしまい
今じゃ押入れの中だ。
パーソナル版で充分だったな、、、、
0448デフォルトの名無しさんNGNG
>>446
ユーザ向けの優待販売使うとPro単体より若干、安い罠。
0449デフォルトの名無しさんNGNG
Modern C++ Design買ってきたから、BCBでLoki通るように改造してみたい。
多分無理だろうが(w
0450デフォルトの名無しさんNGNG
>>446
VCLコンポならインターネット上にたくさん落ちてるYO!
とりあえず ↓ から始めてみては?
http://home1.infonia.ne.jp/~delphian/delphi/
0451デフォルトの名無しさんNGNG
ほιゅ
0452デフォルトの名無しさんNGNG
このスレには初めて来たのですが、C++Builder で、ちょっと教えてもらいたいこ
とがあります。
StringGrid コンポーネントで、Cells[col][row] = "ABC" という具合に文字列
をセットしたあと、そのセルの文字列を中央寄せしたいのですが、うまくいきませ
ん。したいことは、

StringGrid1->Objects[col[row]->Alignment = taCenter

みたいな感じですが、エラーが出てしまいます。
判る方、どうか教えてください。
0453452NGNG
…ここ逝って勝手に解決してしまいました。
ttp://market.agr.tottori-u.ac.jp/ken/
『何だこいつは!!』とお思いください…。失礼しました。
0454デフォルトの名無しさんNGNG
SQLビルダってC++Builderをインストールすると使えるの?
ヘルプはインストールされてるけど起動方法がわかりません。
0455デフォルトの名無しさんNGNG
BCB面白そうだな。
BCB6Personalが一万円切ってたから、買ってみるかな。
0456デフォルトの名無しさんNGNG
>>455
BCB面白いよ。俺はPro版使ってるけど。Delphiと違って、コンパイルが
激遅なのが玉にキズだけど、MFCで培ったテクニックもそのまま使えて
幸せ。
0457デフォルトの名無しさんNGNG
C++Builder6を使っています。
フリーのコンポーネント(Pascalで書かれた)を登録しようと
パッケージを新規で作成して登録しました。
登録したコンポーネントを使ったプロジェクトをコンパイルすると
リンカエラーが起きます(登録したコンポーネントのコンストラクタは未解決等)
これはプロジェクトにそのコンポーネントをコンパイルした際に出たobjファイルを
プロジェクトに追加すれば出なくなるのですが おそらく自分のコンポーネントのインストール
手順が 何か抜けてる部分があるのだと思います。
このようなエラーが出る場合 どのような作業を行えばエラーは出なくなるのでしょうか?
0458デフォルトの名無しさんNGNG
>>457
エラーメッセージを詳細に書くナリ。
ありがちなリンクエラーは、namespace が違ってたり、パケージ選択
を間違えたりとか etc...
0459457NGNG
コンポーネントインストールするときに 出力ファイルのパスミスってただけでした。
すいません(鬱
0460デフォルトの名無しさんNGNG
>>454
SQLビルだって、たしかEnt版しか使えなかったような。
俺はPro版しか触ったこと無いのでわからんが・・・・
0461454NGNG
>>460
ごめん、TQuery右クリックで起動できた。
0462デフォルトの名無しさんNGNG
C++ Builder 6 を入れました。

コンポーネントを追加しようと、メニューから [コンポーネント] - [パッケージのインストール] の
[追加] で *.bpl を選択しました。

が、VCL50.BPL が見つからない、というようなメッセージが出ました。VCL60.BPL はあるようなので、
バージョンに関連したものではないかと思うのですが、このコンポーネントは Ver.6 では使えないの
でしょうか? それともどうにか使う方法はあるのでしょうか?
0463デフォルトの名無しさんNGNG
>>462
もしかしてコンポーネントがBCB5でコンパイルしたものじゃない?
BCB6でコンパイルし直さないといけないのでは。
0464デフォルトの名無しさんNGNG
どこかのページにWindowsXPスタイルに対応したコンポーネントが
置いてないでしょうか。
0465デフォルトの名無しさんNGNG
>>464
検索って物を覚えましょうね。


>>419-426
0466デフォルトの名無しさんNGNG
>>465
どうもすんまそん&アリガト。
早速インスコしてみたんだけど、これBitBtnもProgressBarもないのね。
一番よく使うのに。
MFCを紐解いて自作しないとだめなのか・・・・・・
0467デフォルトの名無しさんNGNG
>>466
BitBtn や ProgressBar は Manifest を(アプリケーションに)追加することで
new GUI になりませんか?


0468デフォルトの名無しさんNGNG
>>467
そうなんですが、配布する時のことを考えると、できれば
2000以前で普通のGUI、XPだとnew GUIと自動的に切り替わる
コンポーネントが欲しいんですよ。SP1で対応してくれるかもしれんけど。
0469デフォルトの名無しさんNGNG
>>468
だからこそ Manifest で良いのでは?
exeと同じフォルダに manifest ファイルを置くだけ。
もちろんWindows2000では無視されるのでXPに対してのみ効果があるし。
別に配布上問題はないと思ふが
0470デフォルトの名無しさんNGNG
>>469
そうかありがとう。そうしてみます。
0471デフォルトの名無しさんNGNG
ちゃんとリソースにして .exe にくっつけておきなよ。

>>468
SP1 では XP テーマ対応はしない。と明言しているはず。Delphi7 から。
BCB6 のコンポーネントは Delphi6 のそれと同じ物を使っているから BCB6 では
対応できない。

ただ「対応できない」というのは過去との互換性の部分がほとんどだから、3rd party
のコンポーネントを使ってしまえばすんじゃう話だよ?
新しくアプリケーションを作るのであればたいした問題じゃないよね?
あとは、ImageList の(Microsoft が作りこんだ)非互換性をどうするか、って
くらいしかめんどくさい話は残っていない。
0472デフォルトの名無しさんNGNG
>>471
がーん。対応しないんですか。BCB6では。

昨晩もマニフェストファイルを作ってみたんですが、XPスタイルになる
ものとならないものが混ざって醜いことこの上なかった。

外国のサイトでもさぐってみようかな。
0473デフォルトの名無しさんNGNG
Builder 6 のバグレポートとかがまとまったページって
ご存知の方いっらしゃいませんか?
0474デフォルトの名無しさんNGNG
>>472
互換性の問題とかいろいろ出てくるんですよ。悪いのはイベントの出方やイメージリストの
フォーマットを変えた MS。

互換性を気にしなければ XP 対応コンポーネントはごろごろ転がってるよ。
http://www.delphi-unicode.net/
0475デフォルトの名無しさんNGNG
>>474
ありがとうございます。無理にXP対応にしないようにしてみます。
世の中にはまだまだWin2000ユーザーも多いことですし、単に見映え
の問題ですからね。

ご紹介のホームページは今から覗いてみます。
0476デフォルトの名無しさんNGNG
C++Builder用のオフィシャルコース本がないので、Delphi6用の2冊組
を買ってきました。ちょっと値が張りましたが。

コンポーネントの使い方だけなら、これで十分です。もちろん中身は
Object Pascalで書かれているので、これをC++に翻訳するには相応
の言語力が要求されます。

と言ってもObject PascalとC++はよく似ているので、そんなに移植は
困難ではありません。逆だったら難しいかも。
0477デフォルトの名無しさんNGNG
>>476
>これをC++に翻訳するには相応の言語力が要求されます。

そうか?とバイリンガルなアタシはおもふ。
0478デフォルトの名無しさんNGNG
>>477
すげえな。C++の文法自体はわかっているのだが、Object Pascalが
サパーリなので、困難を極めます。Registerって何?のレベルです。
0479デフォルトの名無しさんNGNG
>>478
いや、Cにもその概念ありますがな・・・
0480Delフサギコ ◆zE1iiRdQ NGNG
                _____
      ∧,,∧___   /
    /ミ,,゚Д゚ミ/\<  この辺みてがんばってください
  /| ̄∪∪ ̄|\/ \_____
    |____|/

○C++(Builder)とDelphiの対応
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999486538&res=7
0481デフォルトの名無しさんNGNG
>>479
そうですね。コンポーネントの登録でした。あまり使いませんね。

>>480
ありがとうございます。今見せていただいていますが、この調子だと
Delphiが即マスターできてしまいそうな気がしてきました。
0482デフォルトの名無しさんNGNG
            ☆ チン
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < BCB6 SP1まだ〜?
             \_/⊂ ⊂_ )   \___________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |JBuilder7SE返品|/
         ̄ ̄ ̄ ̄ ̄ ̄ ̄
そろそろ出てもいいと思わない?
0483デフォルトの名無しさんNGNG
取得した使用許諾コードってどこ見れば分かるの?
0484デフォルトの名無しさんNGNG
>>482
アップデートは今暫くおまちください
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )  BCB6++ Personal/SE/Enterprizeヲ
 | 某|  ジュンビシテイルカラナ
 (__)_)
0485デフォルトの名無しさんNGNG
すいません、今から馬鹿な質問します
Bcc の 5.5.1 は WindowsXP 非対応らしいですが
BCB の 6 に含まれる Bcc は XP 対応済みですよね?
Bcc のバージョンナンバーはあがってますか?
既出でしたらすいません
0486デフォルトの名無しさんNGNG
>>485
BCC5.5.1はXPでも問題なく使えますよ。

BCB6にはBCC5.6が付属していますが、ほとんど変わってないようです。
大きく違う点は、STLPortが標準装備になったのと、C99にいくつか対応
したぐらいで、BCC5.5.1にSTLPortをインストールして使えば、実用上
ほとんど差はありません。
0487デフォルトの名無しさんNGNG
>>485
バグが増えますた。
0488485NGNG
486さん、487さん
教えてくれてどうもありがとう、助かりました
5.5.1がXPでも使えるのはとてもうれしいでふ
BCC 5.6は無料公開されないのかな?でもバグ増えてたら悲すいね
0489デフォルトの名無しさんNGNG
質問させてください.Builderとはあんまり関係ないんですが
GPSユニット+Super MAPPLEでパソコンナビをやってます.
mappleはCOM1〜6のうちの選択したポートからGPSのデータを
取り込んで地図上に現在位置を表示します.COMポートからは
データの受信のみをしているようです.

1) GPSユニットからは,精度のいいデータ(1/1000度単位)と精度の悪い
(1/100度単位)データが同時に出てきてしまうので,地図上に2本の
軌跡が表示されてしまいます.
たとえば,北東に進んでいるとき,精度のいい方のデータは斜めの
軌跡になるのに,精度の悪いほうは階段のようにぎざぎざになる.
GPSのデータを一回トラップしてやって精度のいいほうのデータのみを
取り出してmappleに食わせてやることができると気持ちいい.

2) GPSユニットからは,衛星の情報も同時に送信されているけど,
mappleでは確認する機能が無いため,データを途中でトラップして
やって衛星データを表示するソフトを作って同時に動かすと便利.

3) 曲がり角の座標に来たときに「次,右です」とか教えてくれるソフトを
作りたいのですが,mappleがCOMポートを占有してしまうので,
地図を確認する場合には音声ナビソフトを終了して(COMポートを
放して)mappleを立ち上げる必要がある.信号待ちの間にこれを
やるのはつらい.これもCOMからのデータを途中で取り出せれば
簡単.

だと思うのですが,何かいい方法はないでしょうか.
使っているパソコンにはCOM1,2の二つだけがついていて,COM3〜6
は空いてる状態なので,このへんにダミーのvxdでも作ってやれば
いいんだろーかとも思っているのですが,具体的な方法がさっぱりです.
それとも,もっと簡単な方法があるでしょうか.

教えて君ですんまそん.
0490デフォルトの名無しさんNGNG
BCB6ってさ、templateを使ってるソースでコード補完使うと氏なない?
特にsizeof(T)があるとかなりの確率で氏ぬです。

今はコード補完切ってるからいいけど、BCB5より補完や宣言表示が速いから
ホントは使いたいんだよね...。
0491デフォルトの名無しさんNGNG
PlatformSDKのサンプル「Generic」をビルドしようとしたら、brc32.exeでリソースがリンクできない‥‥
BCC 5.5.1のbrc32.exe呼び出してやると何事もなかったようにリンクできるんだが‥‥

バグ?
0492デフォルトの名無しさんNGNG
 
0493デフォルトの名無しさんNGNG
>>491
brc32 単体で動かすときのオプション指定を間違えていない?
0494デフォルトの名無しさんNGNG
>>493
「brc32 generic.rc generic.exe」
これであってるはずだけど‥‥

何故かリソースのコンパイル自体は行われているがexeファイルにリソースがリンクされていないと言う現象が‥‥‥
(エラーメッセージは-v付けても特になし)

うわぁぁぁん!!
0495デフォルトの名無しさんNGNG
TStringsからAnsiStringへの代入はどうすればいいでしょうか?
static_castもdynamic_castも、コンストラクタも全部エラーになります。

StringGrid1->Cells[NumCol][i + 1] = CheckListBox1->Items[i];
0496デフォルトの名無しさんNGNG
>>495
CheckListBox1->Items->Strings[i]
0497デフォルトの名無しさんNGNG
>>496
ありがとうございます。うまくいきました!
どうやら Itemsプロパティの扱い方が、DelphiとBCBで違うようです。

BCBの方がより文法に厳しいように思います。これでやってみます!
0498デフォルトの名無しさんNGNG
>>494
なんか思い出してきた。それ BRC32 のバグだった気がする。

BRC32 は実際にはりソースコンパイルはBRCC32 を呼び出し、
.exe とのリンクは ilink を呼び出しているのだ。

BCC32 に .rc や .res を渡した場合にも、BRCC32 や ilink を
呼び出しているんだが。BRC32 に ilink の呼び出しの不具合があった気がする。

ilink を呼び出してリソースリンクできないかな?たしかそうやって解決した記憶があります。
0499デフォルトの名無しさんNGNG
質問です。

あるもらい物のソースを make すると

 [リンカ エラー] 外部シンボル 'System::__linkproc__ __fastcall GetMem()' が未解決
(C:\〜.OBJ が参照)
 [リンカ エラー] 外部シンボル '__fastcall Controls::TControl::ClientToScreen(const Windows::TPoint&)' が未解決
(C:\〜.OBJ が参照)

というようなエラーが 20 〜 30 くらい出ます。名前からすると、C++ Builder に付属の
ライブラリがリンクされてないようなことではないかと思うのですが、今まで C++ Builder
にさわったことがなく、どうして良いものかさっぱり分かりません。

上の情報だけで何らか原因/解決法が分かりますでしょうか?
0500499NGNG
あれ?
再構築したら通っちゃった。
0501デフォルトの名無しさんNGNG
4月からCを始めて今BCBをやっています
初心者板が無いようなのでここで質問させて頂きます

漢字の練習帳みたいなマス目を作って、そこをクリックや
ドラッグするとそのマスごとに線や○×などを
表示させたいのですがなにか良いコンポーネントはありませんか?
ループで線を引いて、Originで始点のマス目を割り出して、、、
と考えていました
よろしくお願いします
0502.NGNG
>>501

http://pc.2ch.net/test/read.cgi/hack/1024113956/
0503501NGNG
>502
リンク先の>36ですか?w
使いようではそう言う動きも可能かと
0504501NGNG
2,3人友達に聞いてみたけどBCBを誰も知らなかったw
BCBって一般的じゃないんだ;´Д`) 
0505デフォルトの名無しさんNGNG
>>504
BCBとDelphiは内容的にはほとんど同じだと思うが、BCBがC++なので、
初心者に対して敷居が高いからのように思う。
0506デフォルトの名無しさんNGNG
言語としてはC++の方が一般的だから、C++を採用している方が敷居が低いのが普通と思うけどな。
0507デフォルトの名無しさんNGNG
初心者が見てC++のほうが敷居が低いと思うだろうか。
0508デフォルトの名無しさんNGNG
>>504
やっぱVC++があるから
0509デフォルトの名無しさんNGNG
すんませーん。TImageについて教えて下さい。

やりたい事はImage上にマウスカーソルが来たらImage上のBMPを別のBMP
に変化させるだけです。勿論、マウスカーソルがImage上に居なくなった
場合は元のBMPに戻すと言う事です。

よくある奴ですね。でも分からない・・・
たったこれだけの事がわからない・・・ あぁなんと情けなや・・・

どなたかご存知ありませんか? 説明が面倒くさければ、その説明のWebPage
だけでも・・・

BCB5+Win2000+SP1
0510デフォルトの名無しさんNGNG
と、、すいません。何が分からないのかを記載していませんでした。

Image1とImage2があり、それに既にBMPを読み込んで配置しています。
Image1にマウスカーソルが来た場合の判定方法と言う事です。
Leaveした時も判定したいです。
0511デフォルトの名無しさんNGNG
>>510
TImageをサブクラス化してWM_MOUSEHOVERとWM_MOUSELEAVEイベント拾えばいいんでないの?
TImageにWM_MOUSEHOVER飛んでくるかは知らんが。
0512デフォルトの名無しさんNGNG
うぉ〜ぅ。了解です。スグサマやってみます。
0513デフォルトの名無しさんNGNG
Delphiで悪いんだけど・・・なんかあまりにもソックリなんで

http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/browse.cgi?index=9631
0514デルファイの名無しさんNGNG
TImageはグラフィックコントロールなのでWM〜は来ないのでは?
CM〜なら来るかも
0515510NGNG
くぅ〜 感謝感激雨あられ。皆さん、やさすぃ〜
ありがとうござまーす。

この感激〜♪を何時までも♪
0516デフォルトの名無しさんNGNG
Delphiでメッセージに応答させたい場合は message 文を書けば
いいですが、BCBでこれに対応した構文はあるのでしょうか?
0517デフォルトの名無しさんNGNG
BEGIN_MESSAGE_MAP
 MESSAGE_HANDLER
END_MESSAGE_MAP

というやつ。
0518デフォルトの名無しさんNGNG
>>517
なるほどマクロで定義されているのですね。ありがとうございます。
しかしDelphiよりかなり汚いプログラムになってしまいますね。

C++にはもともとイベントハンドラという概念がないのでifやswitch
で分岐させるか、throwで処理するしかないわけですね。でも
throwは非効率的なので分岐処理となるわけですか。
0519デフォルトの名無しさんNGNG
汚いと言われれば確かにそうかも。
でもまあ仕方なさげ。
0520デフォルトの名無しさんNGNG
>>519
DelphiはWindowsに特化して作ってあるので、これの真似をC++で
しようとすれば、どうしてもあちこちにアラが見えてくるのは仕方ない
ですね。

最近なぜ私はDelphiに移行せずBCBにこだわっているのかわからなく
なってきました。MFCでさんざん苦労してきたからかもしれません。
■ このスレッドは過去ログ倉庫に格納されています