くだすれC++Builder(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/05/28(土) 05:24:24もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。
Borland Home Page
http://www.borland.co.jp/
兄弟すれ
くだすれDelphi(超初心者用)その24
http://pc8.2ch.net/test/read.cgi/tech/1115581376/l50
0175デフォルトの名無しさん
2005/09/05(月) 19:23:36遅まきながら C++Builder Hello World Application in DeXter のデモも拝見しました。
(ttp://www.drbob42.com/cbuilder/)
これを見ると統合の煽りもあってか、ぱっと見C#系というかVisual Studioというか、
フォームを取り巻く環境がが随分と様変わりしているようなのですが、そうなって来ると
今この時点で単独製品としてのBCB6を押さえておく方が良いのかという気にもなってきます。
あるいはここまで来たら新製品のリリースを待つべきなのかどうか、その辺をご教授
頂けないでしょうか。
0176デフォルトの名無しさん
2005/09/05(月) 21:30:39ボーランドのホームページ見たら、
8月末で現行BCB6の販売が終わったようですよ。
0177デフォルトの名無しさん
2005/09/05(月) 21:48:14こらこらいいかげんなこと言わない。
>2005/8/31をもちましてC++Builder 6 StarTeam 2005 Editionの販売を終了いたしました。
他のパッケージはまだ売ってるよ。
0178デフォルトの名無しさん
2005/09/05(月) 21:54:28悪いところは真似しなきゃよかったのにね
0180173
2005/09/06(火) 09:25:31ありがとうございます。
ライブラリパスの設定でコンパイルは通りました。
ただ、また1点問題が…
フルスクリーン化までは成功しているのですが、解像度の変更が
出来ておりません。
当方の簡単な環境ですが、BCB6#4でディスプレイは1600x1200(32bit)です。
他に何かすることがあるのでしょうか?
0181デフォルトの名無しさん
2005/09/06(火) 09:50:04http://sz.sakura.ne.jp/~mimi/uti/kaiharu/08.htm
によると24bppはサポートしてない場合があると書いてるけど、他のモードもだめ?
0182デフォルトの名無しさん
2005/09/06(火) 10:36:20いまどきのモニタなら24bitはサポートしてないでしょ。
8か32でやってみ。
0183180
2005/09/06(火) 10:54:11ありがとうございます。
32bitにしたところ問題無く動作しました。
モニタに依存するものでしたか・・・
>>169で出したページより>>181で教えて頂いたページのほうが
エラーチェックまでしてあって良いですね。
教えて頂きました皆様、ありがとうございました。
0184デフォルトの名無しさん
2005/09/06(火) 14:15:11とりあえず、BCB6は使いやすいから持っとくべし。
次バージョンはDelphiとの統合で重(ry
0185デフォルトの名無しさん
2005/09/07(水) 06:26:330186デフォルトの名無しさん
2005/09/07(水) 10:08:180187デフォルトの名無しさん
2005/09/07(水) 18:54:54class Hoge : public TForm, public Foo
[C++ エラー] Hoge.h(102): E2246 Foo は、抽象およびパブリックの、
データを持たない単一の継承クラス階層ではない
エラーコードをヘルプで調べたら
内部コンパイラエラー。コンパイラがクラス階層に制約を強制することがあります。
この場合,すべてのクラスは抽象クラスであり,
すべてのクラスに親が 1 つだけ存在するという制約になります。
とありました。
TForm + 他のクラスのような多重継承は出来ないのでしょうか?
0188デフォルトの名無しさん
2005/09/07(水) 19:13:20ヘルプより
> C++ と異なり,Object Pascal 言語は多重継承をサポートしません。
> VCL か CLX を派生元にして作成されたクラスも,この制約を継承します。
> つまり,VCL/CLX クラスから直接派生したクラスでなくても,
> VCL スタイルの C++ クラスは複数の基本クラスを使用できません。
0189デフォルトの名無しさん
2005/09/07(水) 19:33:01> C++ で多重継承を使うケースの多くは,Object Pascal コードではインターフェースで代用できます。
> 純粋仮想関数だけを持ち,データメンバーを持たないクラスがある場合,
> C++Builder のコンパイラは,これを Object Pascal のインターフェースに対応するクラスとして認識します。
> このように,VCL スタイルクラスを作成して,多重継承を使用することが可能です
0190187
2005/09/07(水) 23:45:57ありがとうございます。
共通のインターフェースを実装することが目的だったので
助かりました。
前回は仮想関数で実装していたので純粋仮想関数にして継承させたらうまくいきました。
純粋仮想関数という機能に気づきませんでした。
0191デフォルトの名無しさん
2005/09/10(土) 10:20:39http://pc8.2ch.net/test/read.cgi/tech/1117225464/l50
0192名無しさん@そうだ選挙に行こう
2005/09/11(日) 18:49:41差異は感じられませんでした。個人的には5か6で十分かなと思います。
今のうちにBCB6proを確保しておくべきです。絶対にあとで後悔するでしょう。
私はデータベース関係のアプリは作らないので、最近になって、personal版も
買いました。起動爆速、CLXなんて使いもしないライブラリがなくてすっきりです。
>>175
0193デフォルトの名無しさん
2005/09/12(月) 05:28:440194デフォルトの名無しさん
2005/09/12(月) 20:55:43起動時の標準コンポーネントからCLXとDB関係を抜けばいいだけな気が‥‥
0195デフォルトの名無しさん
2005/09/13(火) 08:16:57http://makimo.to/2ch/piza2_tech/997/997074601.html
http://makimo.to/2ch/pc3_tech/1016/1016065855.html
http://makimo.to/2ch/pc2_tech/1035/1035596146.html
http://makimo.to/2ch/pc2_tech/1045/1045542179.html
http://makimo.to/2ch/pc5_tech/1054/1054280736.html
http://makimo.to/2ch/pc2_tech/1061/1061594556.html
http://makimo.to/2ch/pc5_tech/1080/1080541814.html
http://makimo.to/2ch/pc5_tech/1089/1089299158.html
http://makimo.to/2ch/pc5_tech/1094/1094749339.html
http://makimo.to/2ch/pc5_tech/1099/1099238936.html
http://makimo.to/2ch/pc8_tech/1108/1108468718.html
0196デフォルトの名無しさん
2005/09/13(火) 16:11:220197デフォルトの名無しさん
2005/09/13(火) 18:35:520198デフォルトの名無しさん
2005/09/16(金) 03:20:490199デフォルトの名無しさん
2005/09/16(金) 07:55:060200デフォルトの名無しさん
2005/09/18(日) 23:55:39どうしてもBCBが200KBほどデカくなる傾向にある。
サイズをできるだけ小さくする方法はないものか
0201デフォルトの名無しさん
2005/09/19(月) 00:30:160202デフォルトの名無しさん
2005/09/19(月) 01:19:30200Kはでかいような、気にしないような微妙なサイズですな
0203デフォルトの名無しさん
2005/09/19(月) 08:30:34>>199
BCBだとCとDelphiの両方のライブラリをリンクするからじゃないの?
解決法は無いと思うよ。
・基本的にDelphiで作って、Cのコードをはobjでリンクする
・圧縮実行ファイルにして誤魔化す
0204デフォルトの名無しさん
2005/09/19(月) 15:32:00DOS版のTurbo Pascalの頃すでにそうだったものね
というかCP/M版でもそうだったんだろか
0205デフォルトの名無しさん
2005/09/20(火) 03:43:08実行時パッケージを使って構築
0206デフォルトの名無しさん
2005/09/20(火) 05:32:16BCB だと *.asm が混じってたから Delphi もそうだと思ってたよ
0207デフォルトの名無しさん
2005/09/20(火) 09:57:52すげえ。ダイナミックリンクしといてファイルサイズが(以下略
0208デフォルトの名無しさん
2005/09/20(火) 12:42:11Turbo Pascalは某が標準PASCALを無視して万能を目指したからだろうね
組み込み屋さんのコードとか見るとasm文のオンパレード
0209デフォルトの名無しさん
2005/09/23(金) 07:00:16並べてみると壮観だね
A list of features in Dexter
http://groups.google.co.jp/group/borland.public.cppbuilder.non-technical/msg/901d7e5f9cb15e40?hl=ja&
0210デフォルトの名無しさん
2005/09/24(土) 02:04:060211デフォルトの名無しさん
2005/09/24(土) 03:30:330212デフォルトの名無しさん
2005/09/24(土) 04:39:38スレ違い。こっち。
Borland C++ BuilderX
ttp://pc8.2ch.net/test/read.cgi/tech/1065260556/l50
0213デフォルトの名無しさん
2005/09/24(土) 15:04:320214デフォルトの名無しさん
2005/09/24(土) 15:17:150215デフォルトの名無しさん
2005/09/24(土) 15:28:05Tがあれば型名。なければ変数名と一目で分かるようになってる。
0216デフォルトの名無しさん
2005/09/24(土) 18:42:490217デフォルトの名無しさん
2005/09/24(土) 20:37:010218デフォルトの名無しさん
2005/09/25(日) 04:07:530219デフォルトの名無しさん
2005/09/25(日) 11:52:00OnMouseUpのイベントと
OnMouseDownのイベントの関数を別にしたいんですが、
プロパティ画面でどちらかを変更するともうかたいっぽも同じ関数になります。
どうすればいいんでしょうか。
0220219
2005/09/25(日) 12:13:570221デフォルトの名無しさん
2005/09/25(日) 13:49:320222デフォルトの名無しさん
2005/09/25(日) 13:55:120223デフォルトの名無しさん
2005/09/25(日) 14:13:00スペイン語で”5”の事では?
0224デフォルトの名無しさん
2005/09/25(日) 15:31:210225デフォルトの名無しさん
2005/09/26(月) 13:17:05選択してTab押したら消えた。
0226デフォルトの名無しさん
2005/09/26(月) 13:39:38Shift+Ctrl+I で字下げ
Shift+Ctrl+U で地上げ
0227デフォルトの名無しさん
2005/09/26(月) 21:53:17http://homepage1.nifty.com/fuu/software/nonfreecursor.htm
フリーカーソル無効化&Tab/Shift+Tabで字上げ/字下げIDEコンポ
0228デフォルトの名無しさん
2005/09/28(水) 23:50:14http://pc8.2ch.net/test/read.cgi/tech/1117225464/l50
0229デフォルトの名無しさん
2005/09/29(木) 17:16:33Edit1->Text = (押されたボタン->Caption);
って動作がしたいんだけど、上手くまとめる方法はないですかねえ?
0230デフォルトの名無しさん
2005/09/29(木) 17:23:090231デフォルトの名無しさん
2005/09/29(木) 17:26:300232デフォルトの名無しさん
2005/09/29(木) 17:35:01例えばボタンが100個に変更されても、
200個に変更されても、ソースの修正点が少なくてすむような、
そんなまとめかたをしたいのです。
0233デフォルトの名無しさん
2005/09/29(木) 17:43:20別に複数のコンポーネントが1つのイベントハンドラを共有していても問題ないが。
押されたボタンのキャプションはSenderから取得できる。
0234デフォルトの名無しさん
2005/09/29(木) 17:45:12動的にボタンを生成するという意味ならループまわして>>230が一番簡単だよ。
0236デフォルトの名無しさん
2005/09/29(木) 17:59:07Edit1->Text = bttn->Caption;
0237デフォルトの名無しさん
2005/09/29(木) 18:10:59これがしたかったんです!
ありがとうございました。
…っていっても、文見てもどんな動作してるのか分からないので、
もうちょっと検索してみます。
0238デフォルトの名無しさん
2005/09/30(金) 00:05:230239デフォルトの名無しさん
2005/09/30(金) 00:16:32DLLにすれば?
0240デフォルトの名無しさん
2005/09/30(金) 00:30:53アホ
>>237
まずユニットのヘッダのClass{ }の外側に
extern "C" void a(int b);
みたいに宣言する。
でその関数の実体をユニットのソースに
void a(int b){
・・・
}
みたいに書く。これでOK。
0241デフォルトの名無しさん
2005/09/30(金) 00:55:32素直にヘッダファイル使え
0242240
2005/09/30(金) 00:56:30その関数を呼び出すフォームで #includ "Unit〜.h" みたいにインクルードしてから呼ぶべし。
0243デフォルトの名無しさん
2005/09/30(金) 01:17:580244デフォルトの名無しさん
2005/09/30(金) 01:44:37#ifndef HOGE_H
#define HOGE_H
#pragma link "hoge"
int hoge( void ); //関数の宣言
#endif
//ソースファイル hoge.cpp
int hoge( void ) //関数の定義
{
return 0;
}
そしてhoge()を使用したいフォームのソースに #include "hoge.h"を追加
…回答するやつにも超初心者がちらほらするこのスレ。
0245デフォルトの名無しさん
2005/09/30(金) 05:57:210246デフォルトの名無しさん
2005/09/30(金) 07:08:14一体そのヘッダでどんな関数が書けるのかな、1+1とかかな。ネタだよな。
0247デフォルトの名無しさん
2005/09/30(金) 08:17:10ただしhoge.cppをプロジェクトに追加するか、
事前にhoge.cppのみコンパイルしておくか。
後者の場合プロジェクトに追加する必要はないが
リンカにパスが通ってる必要はある。
pragma指令にパスを含めるのでもヲケ。
0248デフォルトの名無しさん
2005/09/30(金) 09:45:43どうもうまくいきません、この手の参考書も少なく困っています
何か良い参考書またはプログラムの見本の様な物が掲載されている
サイトがありましたらご教授御願いします。
0249デフォルトの名無しさん
2005/09/30(金) 09:54:06http://www.tt.rim.or.jp/~rudyard/torii009.html
こことかどうよ?
0250デフォルトの名無しさん
2005/09/30(金) 09:58:39プロジェクトの追加はあまりよろしくない。
この場合だとhoge.cppが絶対パスでプロジェクトに追加されるっぽい。
もしエディタ等で作成したソースをプロジェクトに組み込みたい場合は
ユニットの新規作成をして、ファイル名を追加したいものと同じにする。
んで、ファイルを上書きすればおk。
0251デフォルトの名無しさん
2005/09/30(金) 10:13:17間違いを指摘するのはいいことだ。
だがここは”くだすれ”だから回答もしようジャマイカ
>>248
ttp://www.moriq.com/delphi/CommX106.lzh
これでも使っとけ
0252デフォルトの名無しさん
2005/09/30(金) 22:28:24ご「教授」ありがとう御座います
何とか出来間に合いそうです感謝しています
0253デフォルトの名無しさん
2005/10/02(日) 07:58:37ServerSocketなどでマルチスレッドを使う場合、
グローバル変数の競合が発生するらしく、
TThreadListを使うと書いてあったのですが、これはあるスレッドで、
TList *pList = MyThreadList->LockList();
とすると、他のスレッドでは、
MyThreadList->UnlockList();
としない限り、
TList *pList = MyThreadList->LockList();
の*pListは無効ということですか?
0254デフォルトの名無しさん
2005/10/02(日) 11:02:59そのようなことがないようにロックされているときは、アンロックされるまで待つんでしょ。
他のスレッドで変更して良いのか?ロックしたスレッドがアンロックしなければ意味がないと思うが?
セマフォとかも勉強したら良いんじゃね?
0255デフォルトの名無しさん
2005/10/02(日) 12:00:13ミューテックス
デッドロック
0256デフォルトの名無しさん
2005/10/02(日) 17:32:51ありがとうございます。
TThreadListは初めて使うので、使い方を確認したかったのです。
スレッド1でロックしてあると、
スレッド2で TList *pList = MyThreadList->LockList(); としても、
正しいポインタは帰ってこないのかなと。
0257デフォルトの名無しさん
2005/10/03(月) 06:50:380258デフォルトの名無しさん
2005/10/03(月) 07:29:160259デフォルトの名無しさん
2005/10/03(月) 11:40:14それともTOpenDialog以外を使わなければいけないのですか?
0260デフォルトの名無しさん
2005/10/03(月) 11:43:38SelectDirectory ちゅう関数でフォルダ選択ダイアログだせるよ
0261デフォルトの名無しさん
2005/10/03(月) 11:57:17ありがとうございます。できました。
0262デフォルトの名無しさん
2005/10/03(月) 15:21:070263デフォルトの名無しさん
2005/10/04(火) 17:00:330264デフォルトの名無しさん
2005/10/04(火) 17:04:200265デフォルトの名無しさん
2005/10/04(火) 17:14:15�dクス
sparみたいなのってないのか?
0266デフォルトの名無しさん
2005/10/04(火) 19:29:22∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< spar
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ superダロ
0267デフォルトの名無しさん
2005/10/05(水) 10:39:55こんな感じでどうよ?
http://2ch2.net/.l?=3wel
0268デフォルトの名無しさん
2005/10/05(水) 20:50:02http://www.hawaiians.co.jp/
こんなのは?
0269デフォルトの名無しさん
2005/10/06(木) 14:34:05reg->WriteBool( "aaaa", true );
で書き込んだキーをDeleteKeyするとエラーになって消せません
reg->DeleteKey( "aaaa" );
どうすれば消せるようになりますか?
0270デフォルトの名無しさん
2005/10/06(木) 14:44:26それDeleteKeyじゃなくてDeleteValueじゃね?
0271デフォルトの名無しさん
2005/10/06(木) 15:51:57あ、そっちでしたか。試してみます
0272デフォルトの名無しさん
2005/10/07(金) 00:16:04確実に解放するEnd関数みたいなのは無いんでしょうか。
0273デフォルトの名無しさん
2005/10/07(金) 00:26:400274デフォルトの名無しさん
2005/10/11(火) 01:42:10■ このスレッドは過去ログ倉庫に格納されています