くだすれC++Builder(超初心者用)その4

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。

Embarcadero Home Page
http://www.codegear.com/jp/

<過去スレ>
くだすれC++Builder(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1117225464/l50

くだすれC++Builder(超初心者用)その2
http://pc10.2ch.net/test/read.cgi/tech/1144308804/l50

くだすれC++Builder(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1171219191/

<兄妹スレ>
くだすれDelphi(超初心者用)その50
http://pc12.2ch.net/test/read.cgi/tech/1246340765/l50
2デフォルトの名無しさん:2009/10/24(土) 04:05:23
C++Builderは64ビットWindows7に対応していますか?
3デフォルトの名無しさん:2009/10/24(土) 11:17:02
2010ならOK。2007/2009はIDEのデバッガ周りにバイナリパッチが必要。
4デフォルトの名無しさん:2009/10/25(日) 11:26:23
TurboC++6.0で使えるDirectXって7版?
5デフォルトの名無しさん:2009/10/26(月) 14:07:46
TChartのTPointSeriesで各々のポイントのマーカーの値を任意の文字で表示したいのですが
どうやってやればいいのですか?
6デフォルトの名無しさん:2009/10/26(月) 22:58:46
完全に任意に、ってのはできなさそうに見えるけど。それらしいイベントもプロパティもないんで。
7デフォルトの名無しさん:2009/10/27(火) 09:41:01
64ビットプログラムが作れるようになるのは次のバージョンからですか?
8デフォルトの名無しさん:2009/10/27(火) 10:00:53
>>6
そうなんですよね、プロパティ等がみつからなかったので
ちなみにAddXYする時にラベルを指定できるんですが
これ指定しちゃうと確かにマーカーは指定したのになるんですが
軸もしれになっちゃうんですよね・・・
そこさえなんとかできればいいんですが・・・
9デフォルトの名無しさん:2009/10/28(水) 17:05:39
10デフォルトの名無しさん:2009/10/31(土) 00:04:03
c++builder6のstdoutはどういう扱いなのでしょうか?
配布されているライブラリ内で結果をstdoutに出力する関数があり、
その結果をc++builder側で受け取りたいのですが方法がわかりません。
(stdoutへの出力を横取りしたい。)
どなたかアドバイスお願いします。
11デフォルトの名無しさん:2009/10/31(土) 00:13:33
パイプかなんかを使うんじゃなかったっけ?delphi stdoutかなんかでぐぐれ。
12デフォルトの名無しさん:2009/11/03(火) 00:09:05
int a[100]という配列を用意して、実際に使っているのは20個だとします。
この場合何個使ってるか調べる方法はありますか?
13デフォルトの名無しさん:2009/11/03(火) 00:13:40
調べるも何も20個だろ
14デフォルトの名無しさん:2009/11/03(火) 00:15:31
あ、書き方が変でした。。
int a[100]という配列があってその内何個使っているか調べたいときです。
20個とかはわからないと仮定してです。。
15デフォルトの名無しさん:2009/11/03(火) 00:19:21
立て続けで申し訳ないのですが、
sizeof(a)だと100個になってしまうのでしょうか?
16デフォルトの名無しさん:2009/11/03(火) 00:20:18
何個使うかはプログラム次第だろ
カウンタで使用している数を記録させるか、別にフラグ用の配列を用意するかだろ
17デフォルトの名無しさん:2009/11/03(火) 00:25:21
vector
18デフォルトの名無しさん:2009/11/04(水) 09:53:40
v
19デフォルトの名無しさん:2009/11/04(水) 09:55:42
>>15
それだとintはOSに依存すっし
個数だけなら
count = sizeof(a) / sizeof(int);
まあこうだろうな
何個使ってるとかっつーのをカウントするのは不可
20デフォルトの名無しさん:2009/11/04(水) 10:37:57
使用している使用していないの基準て何なの?
21デフォルトの名無しさん:2009/11/04(水) 17:39:40
「プロジェクトオプション」の「バージョン番号を含める」ってとこで
「ビルド番号の自動更新」て項目にチェックを入れたところ、
ブレークポイントで止めたとき「ソースが変更されました。再構築しますか?」
って必ず一回聞かれるようになっちゃうんだけど、同じ症状出てる人いない?
バージョンは RAD Studio 2010で。
22デフォルトの名無しさん:2009/11/04(水) 17:43:58
TChartで印刷するときPrintPartialCanvasを使ってるんですが
これ背景が黒でもラインによってはちゃんと背景を白で印刷してくれる時があるんですが
強制的に白にするにはどうしたらいいですか?
さすがに真っ黒だとインクがエロい事になるので・・・
23デフォルトの名無しさん:2009/11/05(木) 15:08:16
>>21
ああ、そうなるな。これ、ウゼェ。
24デフォルトの名無しさん:2009/11/05(木) 15:24:49
無限ループwww
25デフォルトの名無しさん:2009/11/05(木) 15:33:20
>>21
QCに書いとけ
そうじゃないと次のUpdateに反映されんぞ
2621:2009/11/06(金) 14:42:16
みんな再現するようだね、サンクス。
>>25
QC…、おぅこんな機能用意されてんだな、ありがとう。
英語の復習から始めるとして…
つかメニューの箇所を説明すんのに日本語版のメニュー名じゃダメだよな?
投稿までに何日掛かるかわからんが空いた時間に調べてみるか…(汗)
27デフォルトの名無しさん:2009/11/08(日) 21:28:15
ちょっと前に無料で配られていたTurboC++BuilderExplorerでは
Windows7 64bitでデバッガを使うのはもはや無理ですか?
28デフォルトの名無しさん:2009/11/14(土) 20:53:58
BDS2006にて
フォームにTWebBrowserを貼り付けただけの、ごくごく単純なプログラム
http://contents.shopping.yahoo.co.jp/points/campaign/pointlot01/
上記をNavigateして開いて
「ポイントくじに今すぐチャレンジ」をクリックすると
画面表示が99%くらいで、必ずプログラムが終了してしまう。
これって、どうにかならないでしょうか
29デフォルトの名無しさん:2009/11/14(土) 22:11:27
デバッガでデバッグ。
3028:2009/11/14(土) 22:20:48
IEコンポの内部で何かが発生して
プログラムが強制終了になってしまうので
デバッグしょうがないのです。
31デフォルトの名無しさん:2009/11/15(日) 00:09:39
なんか根本的なところが間違ってる、とまではいわないまでも、考え違いをしているような気がする。
もういちどスタートラインに戻って考え直してみてはいかが?
3228:2009/11/15(日) 00:25:49
プログラムは
フォームにTWebBrowserを貼り付けて
WebBrowser1->Navigate(ぱらーめーた);しているだけです。
ただこれだけなのですよ
何を考え直すのでしょうか???BDS2006を使うなとかですか?
「ポイントくじに今すぐチャレンジ」をクリックすると落ちてしまい
それ以外だと、無問題です。
IEでブラウズすると問題なく動きます。
33デフォルトの名無しさん:2009/11/15(日) 00:33:15
>32
コピペにマジレス
34デフォルトの名無しさん:2009/11/15(日) 01:22:05
それだけではなんなので。
ttp://www33.ocn.ne.jp/~takoyakusi/delphi/InternetProg.html
35デフォルトの名無しさん:2009/11/17(火) 17:46:38
おい、質問するぞ、誰かいねーのか!!
36デフォルトの名無しさん:2009/11/17(火) 19:02:49
<>
37デフォルトの名無しさん:2009/11/17(火) 23:08:04
質問どうぞ
38デフォルトの名無しさん:2009/11/19(木) 22:07:33
自作コンポーネントを使うと #pragma link が必要になるんだけど
通常のコンポーネントのように #pragma link なしでいいようにパッケージを作るにはどうしたら良いんですか?
39デフォルトの名無しさん:2009/11/22(日) 21:16:45
BCBのメーリングリストってもうなくなっちゃったんですか?

↓は登録したけど全然投稿がないみたいだし...
http://ns8.sfdata.ne.jp/cgi-bin/mailman/listinfo/cbuilder
40デフォルトの名無しさん:2009/11/24(火) 08:48:45
unicode対応のプログラムはどのようにして作ればよいのでしょうか?
41デフォルトの名無しさん:2009/11/24(火) 09:06:36
もっと具体的に質問してください
42デフォルトの名無しさん:2009/11/24(火) 09:16:51
日本語版C++Builderでコンパイルした場合、
そのソフトを英語版Windowsで実行すると、エラーメッセージダイアログなどが
文字化けします。どのWindowsで実行しても文字化けしないようunicode対応で
プログラムを組みたいのですが、その方法を教えてください。
43デフォルトの名無しさん:2009/11/24(火) 09:31:53
44デフォルトの名無しさん:2009/11/24(火) 18:45:43
TBitmapをDIB(ヘッダ無しで色データ配列のみ)に変換する方法を教えてください。。
45デフォルトの名無しさん:2009/11/25(水) 01:40:37
C++Builder 2007で作ったexeをWindows7で実行していますが問題が発生しています。

処理内容は、TCustomControlから派生したコントロールをTScrollBox内に設置して、上下左右に
スクロールさせています。

XP,Vistaでは、コントロールのHeightに65536以上の値を設定しても問題ない
のですが、Windows 7では65536以上を指定しても65535になってしまいます。

これはWindows7の非互換の問題でしょうかね。それとも65536以上を指定して
動いていた今までの動作が例外的だったのでしょうか。

悩んでます。よろしくです。
46デフォルトの名無しさん:2009/11/25(水) 03:45:02
C++Builderを始めようと思いますが、未来はありますか?
47デフォルトの名無しさん:2009/11/25(水) 06:44:12
あるんじゃない?
2009じゃなくて2010にしたほうが良いよ
48デフォルトの名無しさん:2009/11/25(水) 07:10:18
>45
互換モードで動作させたらどうなるの?とはいえ
> これはWindows7の非互換の問題でしょうかね。
だろうね。
49デフォルトの名無しさん:2009/11/25(水) 15:41:52
TGA形式の画像をTBitmapに変換する方法を教えてください
50デフォルトの名無しさん:2009/11/25(水) 15:51:58
51デフォルトの名無しさん:2009/11/25(水) 16:15:57
何この糞見づらいページは

怪しいライブラリを使わないで変換する方法を教えてください
52デフォルトの名無しさん:2009/11/25(水) 18:18:07
自分で作れ
53デフォルトの名無しさん:2009/11/25(水) 20:01:24
Susie pluginって手もある。
54デフォルトの名無しさん:2009/11/25(水) 23:31:03
>>48
 XP互換モードでもダメでした。

スクロールビューの中にコントロールを置いて、上下左右スクロールをさせる作りのアプリは
多そうだけど、非互換でいいのだろうか・・

Vistaからの最適化の中で切られたんだろなぁ。Windows7 SP1で直ればいいけど。
55デフォルトの名無しさん:2009/12/05(土) 11:30:08
>>28
カメだがBCB6でもTurboCでもXPなら落ちる
2000なら落ちない
Silverlightとの相性が悪いとおもっているが原因不明
56デフォルトの名無しさん:2009/12/07(月) 19:22:33
すいません、素人くさい質問ですが

TStringList *plist[100] ;

for ( int i = 0 ; i < 100 ; i ++ )
plist[i] = new TStringList ;

とやった場合は、delete [] を使うの?
それとも delete plist[i] のループを回すべき?

plist 配列はその時々に応じて確保される配列数が 50 だったり、20 だったりするのですが、どっちで delete すべきでしょうか?
57デフォルトの名無しさん:2009/12/07(月) 20:53:21
boost::shared_ptrで包んでstd::vectorにでも放り込んでおけ

もしくは普通にnewしてboost::ptr_vectorな
58デフォルトの名無しさん:2009/12/07(月) 21:31:41
>>56
delete plist[i] のループを回す
59デフォルトの名無しさん:2009/12/08(火) 03:12:34
ここはくだすれ...

>plist 配列はその時々に応じて確保される配列数が 50 だったり、20 だったりするのですが、どっちで delete すべきでしょうか?
ならば、plist 自体を動的に確保したら?

olist = new TStringList[50];

そうすれば

delete [] plist;

で、plist のメモリ解放を行う直前に、個々の TStringList のデストラクタも呼ばれる。

ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1317759688
ttp://www.sist.ac.jp/~suganuma/learn/2-bu/6-sho/6-4/6-4.htm
60デフォルトの名無しさん:2009/12/08(火) 11:24:25
C++ Builder 2009 Pro (Electronic Software Delivery)
$98.98 安いよー
http://www.journeyed.com/item/Embarcadero/C%2B%2B+Builder/100964379
61デフォルトの名無しさん:2009/12/08(火) 12:22:03
>>60
>Academic Proof Required

安くない
62デフォルトの名無しさん:2009/12/08(火) 18:06:56
BCB6から2010へプロジェクトを移行したのですが、
↓文字を扱っている箇所でエラー(const char*はconst wchar_t*に変換できない)が発生します。

Application->MessageBox("AAA");

試した事は
1,プロジェクトオプションの「_TCHARマップ先」をwchar_tに変更
2,#define USTRING_AS_WCHART としてみた。

他に何か必要なのでしょうか?
アドバイスお願いします。
63デフォルトの名無しさん:2009/12/08(火) 18:50:24
L"AAA"
6462:2009/12/08(火) 20:23:03
>>63

アドバイス有り難うございます。
L"AAA"で修正できましたが、個別に該当する箇所を修正する方法では無く、
プロジェクト全体にまとめて適用できる様な方法はないでしょうか?
65デフォルトの名無しさん:2009/12/09(水) 03:25:38
>プロジェクト全体にまとめて適用できる様な方法はないでしょうか?
ありません。

C / C++ 言語では文字型リテラルには型が付いています。
コード上で明示的に char か wchar_t (最近のだと wchar16_t と wchar32_t もあります) で有ることを指定する必要が有ります。
文字列リテラルがメモリの初期化の簡便記法でしかなかったころの歴史的名残です。

対するに Delphi の文字リテラルは評価するときに型が決まるので記法上は一種類しか有りません。
66デフォルトの名無しさん:2009/12/09(水) 05:04:03
文字列置換ツールで置換してしまえば、いいじゃん。

67デフォルトの名無しさん:2009/12/09(水) 06:42:05
無条件に全置換すると、char* を必要としているところでエラーとなるよ。
2010 になってもデフォルトでは UNICODE マクロが付かないので(過去との互換性の問題かな)
_T マクロは役に立たないし。

このコンパイルエラーが出るところが、BCB6 からの一番の変更点なので、
手を抜かずに全部確認した方が、後でバグが出て泣くより正しい道だと思います。

6862:2009/12/09(水) 10:10:02
アドバイス有り難うございます。
手を抜かずに個別に修正したいと思います。
6962:2009/12/10(木) 16:45:46
またまた教えてください。

外部DLLの関数を呼び出す時にchar*を渡すのですが、
2010ではエラー(const char*はconst wchar_t*に変換できない)が出ます。
2番目の引数にこれはcharだよと明示しないといけないと思うのですがどうすれば良いのでしょうか?

//BCB6で動作している記述
Tcl_CreateCommand( interp, "ABC", ( Tcl_CmdProc * )ABC_Proc, ( ClientData )NULL, ( void (*)())NULL );

//関数宣言
Tcl_Command Tcl_CreateCommand( Tcl_Interp interp,
char *cmdName,
Tcl_CmdProc proc,
ClientData clientData,
Tcl_CmdDeleteProc deleteProc);
70デフォルトの名無しさん:2009/12/10(木) 18:57:08
つうか、第3引数の型は、[ Tcl_CmdProc ] ? それとも [ Tcl_CmdProc* ] ?
71デフォルトの名無しさん:2009/12/10(木) 22:02:24
Visual c++でプログラムを書いて、コンパイルしました。
Unixでいうscriptで実行結果を出力したいのですが、どうしたらいいでしょうか?
72デフォルトの名無しさん:2009/12/10(木) 22:18:11
頑張ってください。
73デフォルトの名無しさん:2009/12/11(金) 05:42:43
C/C++ コンパイラとしての機能は 6 も 2010 も同じなので、
VCL が絡まなければ、違いは出てこないはずです。
少なくとも char と wchar_t に関しては変更は有りません。

提示されているコードではエラーは出るはずが無いので、何とも解説/回答できませぬ。

エディタ上で Tcl_CreateCommand と打った後コード支援で出てくる引数のプロトタイプを
確認することを勧めます。
もしそこで表示される第二引数 cmdName の型が char * ではなく wchar_t * だとしたら、
ヘッダファイルや関数定義を見直してください。
74デフォルトの名無しさん:2009/12/11(金) 06:07:05
>C/C++ コンパイラとしての機能は 6 も 2010 も同じ
これはウソでしょう
75デフォルトの名無しさん:2009/12/11(金) 07:44:09
くだすれだから勘弁してくれな > 74

バグ修正や C++0X 規格の一部先取り以外で
C/C++ コンパイラとしてどこら辺が変わったのかまとめてくれるとありがたいぞ > 74
7662:2009/12/11(金) 10:16:16
>>73

御指摘頂いたように宣言を見直したら第2引数ではなく第5引数に誤りがありました。
思い込みで作業していたようで大変助かりました。
有り難うございました。
77デフォルトの名無しさん:2009/12/11(金) 15:51:15
いえいえ。お礼はいりませんよ。
78デフォルトの名無しさん:2009/12/16(水) 14:10:13
TBitmapにOutTextで文字を書いた時に
この文字に指定ドット数で輪郭をつけたいのですがどうやったらいいですか?
元の文字はそのままで文字の外側につけたいので文字が指定ドット分大きくなるイメージなのですが。。
79デフォルトの名無しさん:2009/12/18(金) 21:54:01
ウインドウの大きさが可変なダイアログを作ろうとして
BorderStyle=bsSizeable; にしました。
これで、大きさは変更できるようになったのですが
ウインドウの右下の角に、サイズ変更可の印が出てくれません。
印を出すには、どうすれば良いでしょうか。
80デフォルトの名無しさん:2009/12/19(土) 08:44:20
>>79
TStatusBarを配置する
81デフォルトの名無しさん:2009/12/19(土) 12:31:51
TStatusBarを配置しました。
マークが出ましたが
とても間抜けなダイアログボックスになりました。
82デフォルトの名無しさん:2009/12/22(火) 04:00:09
できたのだからよいではないか
83デフォルトの名無しさん:2010/01/07(木) 20:51:36
getlineでファイルから
商品名,2009/11/2
にのようになってる行を読み取り、商品名、西暦、月、日をそれぞれ別の変数に格納したいです。
getlineでどのように書けばできるのでしょうか?
84デフォルトの名無しさん:2010/01/07(木) 22:21:41
俺なら','をstrchrで探して前半を切り出し
後半はsscanfでまとめて取得するかな。
85デフォルトの名無しさん:2010/01/08(金) 08:20:45
>>83
俺ならstd::tr1::regexで取得するかな。
86デフォルトの名無しさん:2010/01/08(金) 18:50:47
例外の発生したアドレスをExceptionクラスから受け取ることってできないんですか?
そのような情報を取得する方法ってないのでしょうか?
87デフォルトの名無しさん:2010/01/13(水) 14:43:58
C++builder2010って64ビットに対応してる?
88デフォルトの名無しさん:2010/01/13(水) 16:07:54
してない。
2011年夏の予定
89デフォルトの名無しさん:2010/01/13(水) 16:19:10
そんなあ><
90デフォルトの名無しさん:2010/01/13(水) 19:26:30
 ま た お ま え か 
91デフォルトの名無しさん:2010/01/19(火) 02:01:43
.resを作った後、そのリソースをexeにくっつけて
コンパイルするにはどう記述すればいいの?
92デフォルトの名無しさん:2010/01/19(火) 06:25:38
>ilink32.exe
と打ってコマンドラインのヘルプを確認しましょう。

bcc32.exe の引数に、.res ファイルを書く事もできます。できるはず。
93デフォルトの名無しさん:2010/01/19(火) 13:14:02
つーか、プロジェクトにres放りこんどけと
94デフォルトの名無しさん:2010/01/19(火) 14:26:28
知らないならレスしないで下さい><
95デフォルトの名無しさん:2010/01/19(火) 20:46:18
 ま た お ま え か 
96デフォルトの名無しさん:2010/01/23(土) 08:24:17
ActiveXに関する質問なんですが、
VCのMFCでtypelib追加ウィザードで作成されたクラスには
LPDISPATCH型をパラメータにしたコンストラクタがあって、
そこにVARIANT変数のpdispVal等を使用して作成していたのですが、

BCB6でタイプライブラリの取り込みを行った際、
そのLPDISPATCH型をパラメータにしたコンストラクタがなくなって
コンストラクタには「TComponent* owner」になってしまいました。

LPDISPATCHをそのクラスに設定するにはどのようにすればいいでしょうか?
97デフォルトの名無しさん:2010/01/23(土) 11:05:26
10年前の BCB6 だとサポートできない機能があると思いますが
たぶん何とかなるとおもいます。

取り込み元 ActiveX の Typelib の定義を見せてください

あと、BCB 側のプロジェクトディレクトリに、インポートのログファイルが落ちていませんかね?
98デフォルトの名無しさん:2010/01/23(土) 11:25:09
初歩的な質問で恐縮です。
BCB6のプログラム中でフォントを指定したいのですが,例えば
Image1->Canvas->Font->Name="CourierNew";
Image1->Canvas->TextOutA(10, 10, "ABC") ;
と書いても,デフォルトのフォントのままの文字が現れて,変ってくれま
せん。となたか解決方法をお教え下されば幸です。
因みにフォントのサイズやスタイルは,
Image1->Canvas->Font->Size=16;
Image1->Canvas->Font->Style=TFontStyles() << fsBold;
Image1->Canvas->Font->Style=TFontStyles() << fsItalic;
で変えられます。
99デフォルトの名無しさん:2010/01/23(土) 11:43:49
Image1->Canvas->Font->Charsetを変えてみる
100デフォルトの名無しさん:2010/01/23(土) 12:02:21
BDS2006を使っています。
TSimpleEvent *event=new TSimpleEvent();
とするとエラーになります。
ヘルプを見ると、コンストラクタは引数なしなので
これで良さそうなのですが、どうも原因がわかりません。
TSimpleEventはどう使えばいいのでしょうか。
101デフォルトの名無しさん:2010/01/23(土) 12:28:36
それでいいはずだから、
#include <SyncObjs.hpp>
か?必ずエラーの内容書こうぜ。
10298:2010/01/23(土) 13:12:43
>>99
有難うございました。
解決しました。
103100:2010/01/23(土) 13:25:51
[C++ エラー] Main.cpp(1917): E2285 'TSimpleEvent::TSimpleEvent()' に一致するものが見つからない
となります。
#include <Syncobjs.hpp> はしています。
104デフォルトの名無しさん:2010/01/23(土) 14:54:05
ヘルプが更新されてないのかね。今は↓らしい。Syncobjs.hppの中を見て確認したほうがいいかもしれない。

Syncobjs::TSimpleEvent * __fastcall TSimpleEvent(_SECURITY_ATTRIBUTES * EventAttributes,
 bool ManualReset, bool InitialState, System::UnicodeString Name, bool UseCOMWait);
105デフォルトの名無しさん:2010/01/23(土) 15:34:26
TSimpleEvent メソッドは,システムのイベントオブジェクトを作成し,TSimpleEvent オブジェクトをインスタンス化してそのイベントを表します。

__fastcall TSimpleEvent(void);

となってるね
Update全部当てたけどこのまま
106100:2010/01/23(土) 16:03:16
見てみました。
Syncobjs.hpp の定義に
__fastcall TSimpleEvent(void);が無いですね。
でも、
Syncobjs::TSimpleEvent * __fastcall TSimpleEvent(_SECURITY_ATTRIBUTES * EventAttributes,
 bool ManualReset, bool InitialState, System::UnicodeString Name, bool UseCOMWait);
これって、TEventと同じ引数じゃないですか。
TEventと同じならTSimpleEventの意味がないですよね。
というかTSimpleEventは名無しのハズですから
もしかしたら、バグでしょうか。
あと、最後の引数 bool UseCOMWait これが謎です。

107デフォルトの名無しさん:2010/01/23(土) 16:16:11
108デフォルトの名無しさん:2010/01/24(日) 12:31:07
ちなみにC++Builder2010のヘルプでは

C++ の情報

ファイル SyncObjs.hpp

TSimpleEvent = class(TEvent)

[edit] C++ の情報

ファイル SyncObjs.hpp

TEvent = class(THandleObject)

となってるからまた仕様が変更されているようですね
いつから変わったんだろう
109デフォルトの名無しさん:2010/01/24(日) 12:32:13
と思ったらちゃんと書いてあった

SyncObjs.TSimpleEvent のコンストラクタFrom RAD Studio VCL Reference
[edit] C++ の情報

Syncobjs::TSimpleEvent * __fastcall TSimpleEvent(_SECURITY_ATTRIBUTES * EventAttributes,
bool ManualReset, bool InitialState, System::UnicodeString Name,

bool UseCOMWait);
virtual void __fastcall ~TSimpleEvent(void);

これはさすがにバグが取れているようだ
110デフォルトの名無しさん:2010/01/27(水) 15:14:53
TRichEditで質問ですが。
SelAttributesで一部の色を変更した時に
何処が何色に変更されてるかを調べる方法を教えてください。
111デフォルトの名無しさん:2010/02/01(月) 16:38:07
早く教えて
112デフォルトの名無しさん:2010/02/03(水) 17:27:06
C++ Builder 2010でZlibを使いたいんですけど
Boostの中にすでに入っているようで
これを使うにはどうしたらいいでしょうか?
113デフォルトの名無しさん:2010/02/03(水) 17:58:58
CBuilder では使えません。
必要なファイルが足りないようですね
114デフォルトの名無しさん:2010/02/04(木) 15:54:09
112です
Boostのを使えない場合
普通にZlibの最新版をダウンロードして
ソースコードをプロジェクトに加えれば使えるんでしょうか?
115デフォルトの名無しさん:2010/02/04(木) 16:01:32
この頃のオープンソースでは CBuilder/BCC 用の設定をつけていない物も多いので
「がんばってください」と言うしかないです。

Delphi 側の実装である zlib ユニットを利用するというてもあると思います。
zlib.hpp をインクルードしてみてください。
116デフォルトの名無しさん:2010/02/04(木) 21:46:04
Win32DLL版のzlibと必要なヘッダを落とし
DLLからimplibするだけだろ
117デフォルトの名無しさん:2010/02/05(金) 09:11:19
112です
ZlibのDLL版のimplibでうまくいきました
ありがとうございました
118デフォルトの名無しさん:2010/02/08(月) 11:24:36
C++Builderのエディタ部分でタブとEnterキーが効かず。スペースが一文字削除になるんですが。
これってどうすれば治りますか?
119118:2010/02/08(月) 11:29:22
>>118すいません、とても恥ずかしい理由で治りました。


もう一つ質問させて頂きたいのですが
C++Builder(のソケット)でネットワークプログラミングをする場合、書籍はwinsock2のモノでも
大丈夫でしょうか?
120デフォルトの名無しさん:2010/02/08(月) 21:05:35
C++Builderのソケットって何を指していってる?まぁどの方法でもWinSock2で当たりを
つけておく必要があることに変わりはないけど。TServerSocket/TClientSocketは
SMP上のマルチスレッドではうまくいかない、という報告を見たことがあるので注意して。
Indyならマルチスレッド必須(基本ブロッキングなので)。自前で実装するならご自由に。
ICSはよくわからん。
121デフォルトの名無しさん:2010/02/08(月) 22:14:13
Qt は C++Builder でも使えた?
122デフォルトの名無しさん:2010/02/10(水) 10:52:00
特定部分をCUDAを使って計算させたいのですが、C++BuilderでCUDAを使うには
どのような設定が必要なのでしょうか?
123デフォルトの名無しさん:2010/02/10(水) 11:15:52
できません。
124デフォルトの名無しさん:2010/02/10(水) 12:33:59
できないって、DLLとかでもだめなのかい?
125デフォルトの名無しさん:2010/02/10(水) 16:49:05
マイナー環境を使ってる者の宿命です。
126デフォルトの名無しさん:2010/02/10(水) 16:54:11
うるさいだまれぶた
127デフォルトの名無しさん:2010/02/12(金) 15:37:10
時間がかかるループ中にプログレスバーを別スレッドで進めたいと思い
ヘルプどおりにTThreadの派生クラスを作りました
Executeの中でForm1->ProgressBar1->StepIt()を呼ぶだけのシンプルな
もので、これ自体が正常に動作することは確認しました

しかし、肝心の時間がかかるループになるとこのスレッドに制御がこないため
プログレスバーが進みません。ループに入る前にnewで作った時に1回よばれ
ループが終わった時にもう1回よばれるだけです。コンストラクタの引数はfalse
にしてあります。Priorityプロパティも変えてみましたけど変わりません。

どうやったらループの中で並行してスレッドが動くようにできるでしょうか?
128デフォルトの名無しさん:2010/02/12(金) 15:52:49
つーかそれスレッドから呼んだら落ちるんじゃね?
もしくは、落ちなくても正常にアレされなさそう。

void Execute( void )
{
 while( !Terminated ){
  Synchronize( Unko );
  Sleep(1);
 ]
}
void Unko( void )
{
 Form1->ProgressBar1->StepIt();
}

これでどうよ?
129デフォルトの名無しさん:2010/02/12(金) 16:09:46
>>128
それもやってみましたけど変わりませんでした

時間がかるループ以外のところでやると正常にプログレスバーは進みます
ループに入るとその間だけ呼ばれなくなります
130デフォルトの名無しさん:2010/02/12(金) 16:11:35
んじゃむしろそっちのループにSleepいれたらどう?
131デフォルトの名無しさん:2010/02/12(金) 16:26:19
それなら直接 StepIt を呼んだ方が効率がいいような気がします

ループの方は細かいループがたくさんよばれるのでそれらに1つ1つStepIt入れるの
がいやでなんとか別スレッドでできないものかと悩んでいます
132デフォルトの名無しさん:2010/02/12(金) 16:43:13
それCPU負荷100%になってるだろ
133デフォルトの名無しさん:2010/02/12(金) 16:50:52
リソースモニターでみると「応答なし」になってます
これが原因でしょうか?
134デフォルトの名無しさん:2010/02/12(金) 16:56:18
スレッドにSleepを入れるのは当然として
他のループにもいれないとまずいだろ
135デフォルトの名無しさん:2010/02/12(金) 17:04:25
ようやく分かってきました
SleepかStepItかProcessMessages
あたりをループの中で呼ぶしかないんですね

ループの部分のソースコードはMacと共有してるんで
あまりやりたくなかったんですけど
#ifdef使って入れてみます

アドバイスありがとうございました
136デフォルトの名無しさん:2010/02/14(日) 04:21:42
失礼します。
抽象的な質問で申し訳無いのですが、BCB6と2009や2010の互換性ってどのくらいあるのでしょうか?
BCB6で作成したソフトをいじろうと思っているのですが、BCB6の購入は難しいようなので、2010を購入するか悩んでいます。
Unicodeになるなど、100%はありえないのはわかっていますが、コンポーネントの動作等はある程度使える物なのでしょうか?
よろしくお願いします。
137デフォルトの名無しさん:2010/02/14(日) 04:33:07
ある程度使える
共通の部分だけ使えば互換性は確保出来る
きっとそのうち萎えると予想
138デフォルトの名無しさん:2010/02/15(月) 08:31:16
BCB2010でウェブブラウザ作りたいんですが
TWebBrowserとTCppWebBrowserの違いが分かりません
後者の方はヘルプにも何もでてないし
エンバカデロのサイトを検索しても何もヒットしません
TCppWebBrowserはもう使うなということでしょうか?
139デフォルトの名無しさん:2010/02/15(月) 11:32:57
先週末からAboutDelphi の過去ログ検索のリンクが死んでるんですけど
消息とか代替とかご存じの方おられませんか?
140デフォルトの名無しさん:2010/02/15(月) 22:16:09
Delphi-MLか公式フォーラムか、武内さんが見てそうなところで聞くのが吉かと。
単にサーバが落ちてて気がついていないだけでは?
141デフォルトの名無しさん:2010/02/16(火) 14:45:47
2010って64ビットに対応してるか?
142デフォルトの名無しさん:2010/02/16(火) 14:55:10
してない
64bit正式対応は2011からだぞなもし
143デフォルトの名無しさん:2010/02/16(火) 15:31:58
まじですか
2011ていつでるんだい?
144デフォルトの名無しさん:2010/02/16(火) 15:43:31
今年6〜7月頃じゃねーの?
145デフォルトの名無しさん:2010/02/16(火) 15:57:28
あ、今年ですか
んじゃそれまで待ってみようかな
ありがとうブタ君
146デフォルトの名無しさん:2010/02/16(火) 16:02:45
2011はLinux対応 その後改善を2012でやって  64はその後の2013の筈
147デフォルトの名無しさん:2010/02/16(火) 16:04:05
不完全なくりっくす復活されてもなぁ。
148デフォルトの名無しさん:2010/02/16(火) 16:09:20
TRichEditで文字属性ごと他のTRichEditにコピーする方法を教えてください
149デフォルトの名無しさん:2010/02/16(火) 17:08:58
>>136
2007はまだ買えるよ。BCB6はVistaで起動しなかったので慌てて2007にしてコンパイルし直したけど,
比較的苦労せずに済んだ。ただ,いつものことながら2007はパッチ当てないと使い物にならない。
パッチ当てても,時々不可解なことが起こる。何も悪いことしてないのにアプリをExitするとアクセス違反
で落ちたり,アプリケーションアイコンが消えたり...

何とか逃げ道を探して使ってるけどね。
150136:2010/02/17(水) 00:59:21
>>137
>>149
ありがとうございます。
普通に想定できる範囲での修正でなんとか出来そうですね。
どうせコンパイルし直すなら、最新にしようかなと。
151デフォルトの名無しさん:2010/02/17(水) 08:43:41
>>149
Unicodeコンポでつまずいたり、吸収するライブラリとか作ったりされましたか?
これから同じ状況を迎えるのでw
152デフォルトの名無しさん:2010/02/18(木) 14:42:20
>>149
BCB6はVistaで起動できるようだけど?
ttp://yoshidastyle.net/Blogs/program/2009/02/16/builder6binbcbdro
153デフォルトの名無しさん:2010/02/18(木) 15:30:43
TRichEditにAddするとキャレットが消えるんだけど
これを表示される方法を教えてください
154デフォルトの名無しさん:2010/02/18(木) 15:33:52
ちなみにShowCaret( RichEdit->Handle );じゃ表示されませんですた
155デフォルトの名無しさん:2010/02/19(金) 15:57:45
TListBoxで選択が変わったことを検出したいのですが、

TForm1::TForm1(TComponent* Owner)
{
ListBox1->WindowProc = MyWindowProc;
}

void __fastcall TForm1::MyWindowProc(TMessage &Message)
{
if (Message.Msg == WM_COMMAND) { // 0
if (Message.WParamHi == LBN_SELCHANGE) { // 1
return; // 2
}
}
}

としてみたのですが0の部分までは描画要求などで頻繁によばれますが
セルをクリックして選択を変えたときにはMyWindowProc自体が呼ばれません
(1ではなくて0の部分もよばれない)
なにがいけないんでしょうか?
156155:2010/02/19(金) 19:48:48
理由がわかりました
TListBoxはWM_COMMANDを送らないんですね
どうしてもとりたければ派生クラス自分で作れってことですね
157デフォルトの名無しさん:2010/02/19(金) 21:05:38
>>155
矢印キーによる選択でも、OnClickイベントが発生するけど
解決できない処理なのか
158デフォルトの名無しさん:2010/02/19(金) 21:15:11
すでに選択されていたものが再びクリックされたのか
選択されていなかったものが新たにクリックされたのか
で処理を切り分けたいんです
159デフォルトの名無しさん:2010/02/19(金) 22:36:17
>>158
フラグ用の変数を用意して、現在選択している項目と同じ項目を再度クリックされたかを判定する事になると思う。
ListBox->Tagプロパティを使ってなければ、これを使うとお手軽。

別の意味で、1度選択された項目は2度と処理したくない場合は
ListBox->Itemsを使うのはどうか?
Itemsの正体はTStringListである
TStringListは文字列とセットでポインターを1つ保持できる
これがListBox->Items->Objects[index] である
このポインターを収めるところをフラグに使う
NULLはゼロ。NULL以外はアドレスで、アドレスは数値。
だから数値を1個保存すると、NULLと区別できる

void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
TListBox* ListBox = dynamic_cast<TListBox*>(Sender);
int index; AnsiString s;
if (ListBox == NULL) { return; }
index = ListBox->ItemIndex;
if (index < 0) { return; }
if (ListBox->Items->Objects[index] == NULL) {
s.printf("未処理[%d]", index);
// 処理済フラグON
ListBox->Items->Objects[index] =(TObject*) 1;
} else {
s.printf("処理炭[%d]", index);
}
Memo1->Lines->Add(s);
}
160デフォルトの名無しさん:2010/02/20(土) 14:33:54
2007を使っています。
TRichEditのSelStartは全角の1バイト目を指定したら
SelLengthは自動的に2となって2バイト目を指定したらSelStartは自動で次文字の1バイト目にいってました
それが突然2ならなくなってしまいました。
どこかでプロジェクトのランタイムテーマが無効でこうなるって書いてた気がしたのですが・・・
確かにランタイムテーマのチェックを外してからおかしくなったとおもうのですが
再度これにチェックを入れてコンパイルしても以前の動作にもどってくれません・・
どうしたらもどっれくれますか?
161デフォルトの名無しさん:2010/02/20(土) 15:09:10
テーマが有効だと、そうなるのですが。
無効にし、かつプロジェクトのあるディレクトリに自動生成されている .res ファイルを
削除してみてください
162デフォルトの名無しさん:2010/02/20(土) 15:43:05
XPのビジュアルスタイルにするためのマニフェストファイルをリソースに埋込み
brc32でコンパイルしても、コンパイルは正常にできるんですが、スタイルが変わりません
どうしたらいいの?
163デフォルトの名無しさん:2010/02/20(土) 15:45:45
>>161
できました!!!
でも・・・
res削除するとアイコンが消えて読み込みもできなくなったんですが
これアプリのアイコンはどうやってしていしたらいいでしょうか?

それともう1つ。。。
TRichEditでSelStart=0にして、SelLength=RichEdit->Lines->Text.Length();として
RichEdit->SetAttributes->Color = clRed;として
全文字を赤(色はデフォ以外ならなんでもいいみたい)にしたときに
行間がつまって表示されてしまいます。
更にこの時にSelStartとSelLength位置の色が正常に取得できなくなってしまうのですが
何が原因なのでしょうか?
これは先ほどのテーマがONでもOFFでも現象は同じでした
164163:2010/02/22(月) 16:11:12
ちなみに、RichEditのフォントが変わってるような感じがします
フォントはMSゴシックを指定しているのですが
正常な時もおかしいい時もフォント名はMSゴシックだったのですが
おかしい時は文字間が詰まっています(MSPゴシックみたいな感じに)
これTRichEditのバグですか?
165デフォルトの名無しさん:2010/02/24(水) 16:08:46
Variant::CreateObjectで作成したOLEオブジェクトにある
プロパティの有無を何か検出する方法は無いでしょうか?

本来NULLを返すはずのプロパティがあるのですがどうも
プロパティ名自体が無いようで例外が発生しています
例外処理でひっかけてはいるのですがデバックしている時は
毎度そこで止まるので困っています
166デフォルトの名無しさん:2010/02/24(水) 17:16:59
デバッグが不便だというなら@Delphi7

例外が出る前の行にブレークポイントを仕掛けて、ブレークポイントの設定→拡張でブレークのチェックをクリア
+この後の例外を無視するにチェック

例外が出る後の行(ry
+この後の例外を処理するにチェック
167165:2010/02/25(木) 08:59:24
ブレークポイントで例外を無視ってのに気が付きませんでした
これでずいぶん楽になりました、ありがとうございます
168デフォルトの名無しさん:2010/02/25(木) 09:22:08
あ、そんな風に設定するんだ。
設定方法知らなかったので今まで一度も使わなかったorz
IDEとかプロジェクトの設定ダイアログで無視する例外を選んでおくのかと思ってた。
169デフォルトの名無しさん:2010/02/25(木) 10:23:20
>IDEとかプロジェクトの設定ダイアログで無視する例外を選んでおくのかと思ってた。
もし適切にフィルタできるなら、ふつうはそちらを使うべきでしょう。

166 のテクニックは、特定の時だけ特定の例外を無視したいときに使います
170168:2010/02/25(木) 10:50:10
いや、”特定の例外”ってソースいじる必用があるかもしれないし、例外クラス作ったりしなきゃならないので、
”特定の時だけ”のんが超便利。
171デフォルトの名無しさん:2010/02/25(木) 13:30:07
なんだ。しつこいな

ブレークポイントでの操作は IDE 終了したら消えちゃうから、可能なら無視例外を登録するほうが良いでしょう。

もちろんキャッチしたい例外と区別できないと意味がないので、ソースを書き換えなければいけない場合も
あるかと思います。
そこは手間とメリットをはかることになります。
ソースを変更できない(例外クラスを変更できない)場合も多々あるのでそのばあいは
ブレークポイントによる対応と成るでしょうね
172168:2010/02/25(木) 13:55:39
いや別に読み流してもらえばおk、だったんだけど。。。
173デフォルトの名無しさん:2010/02/25(木) 14:29:22
TStringGridで文字列の一部を選択してるとき
TMemoのSelStartとSelLengthみたいにわかる方法を教えてください
174デフォルトの名無しさん:2010/02/25(木) 14:52:13
ヒント: TInplaceEdit
175デフォルトの名無しさん:2010/02/25(木) 14:59:30
StringGridからどやってTInplaceEditにアクセスすんの?
さっさと教えやがってください
176デフォルトの名無しさん:2010/02/25(木) 15:14:22
できた。
TInplaceEdit *ie = dynamic_cast<TInplaceEdit *>(StringGrid->Components[0]);
確かにこれでOKだったんだけどー
これComponents[0]固定になってるけど大丈夫なの??
177デフォルトの名無しさん:2010/02/25(木) 15:56:52
不安ならforで回せば?
178デフォルトの名無しさん:2010/02/25(木) 17:08:05
>>177
それやってみたんですが、どうやらStringGridのあれは1つしかなかったので
[0]固定でもOKじゃね?みたいな結論になりますた。
将来的にはどうなるかわからないですがばかとりあえず今はこれで大丈夫なので^^
179デフォルトの名無しさん:2010/02/25(木) 19:39:45
>>178
dynamic_cast使っているんだから戻り値がNULLだったらインデックス増やすようにすれば良いじゃん
180デフォルトの名無しさん:2010/02/26(金) 10:16:56
>>179
それちがうだろ
forで回すってことはStringGridのアレカウントが1以上あるってことなんだから
NULLが返らずにTInplaceEdit以外のポインタが来るだろJK
だからインデックスをただ増やすんじゃなくてクラスをチェックせにゃいかん
そうなったら結局forでまわしてアレするのと同じ
181デフォルトの名無しさん:2010/02/26(金) 19:27:23
>>180
TInplaceEditでdynamic_castしているのにTInplaceEdit *ieにTInplaceEdit以外のポインタが入ることがあるのか?
182デフォルトの名無しさん:2010/02/27(土) 11:34:27
TEditとその他のコントロールがあるフォームでTEdit以外にフォーカスがある時にキーボードが押されたら
自動的にTEditにフォーカスを移動して文字を入力したいと思い、以下のようにしました。これで正常に動く
のですが、TWebBrowserにフォーカスがあってIMEがオンの時のみ、例えば「ka」を入力すると「kあ」になって
しまいます。他のコントロールの場合はちゃんと変換中の下線付きで「か」になるので悩んでいます。TWebBrowser
に対してフォーカスを離させるような何かの処理が必要なのでしょうか?一応WM_KILLFOCUSを送ってみましたが
変化はありませんでした。

void __fastcall Form1::ApplicationEventsMessage(tagMSG &Msg, bool &Handled)
{
if (Msg.message == WM_KEYDOWN) {
Handled = false;

if (!Edit1->Focused()) {
Edit1->SetFocus();
Msg.hwnd = Edit1->Handle;
}
}
}
183デフォルトの名無しさん:2010/03/01(月) 09:08:30
182です

どうやらDHTMLのkeydownイベントをフックすればよさそうな気がするんですが
TWebBrowser* からどうやってそのイベントをフックすればいいのか分かりません
documentプロパティでDHTMLオブジェクトにはアクセスできそうですが
そっから先はどうやったらいいんでしょうか?
184デフォルトの名無しさん:2010/03/01(月) 19:26:01
これからC++はじめようと思っているんですけど
VC++とどちらが人口が多いのでしょうか?
あと、初心者がとっつきやすいのはどちらでしょうか?
仕事じゃなくて趣味でやる程度です
185デフォルトの名無しさん:2010/03/02(火) 20:51:53
>VC++とどちらが人口が多いのでしょうか?
VC++

>初心者がとっつきやすいのはどちらでしょうか?
C++Builder
186デフォルトの名無しさん:2010/03/02(火) 20:55:28
C++BuilderはMSみたいに無料配布してないんですね。がっかり。
187デフォルトの名無しさん:2010/03/02(火) 22:03:20
趣味で無料がいいならC#にしとけ。
188デフォルトの名無しさん:2010/03/03(水) 00:37:27
189デフォルトの名無しさん:2010/03/03(水) 03:11:45
VC++の無料はC++/CLIを無理矢理使わされるぞ
190デフォルトの名無しさん:2010/03/03(水) 09:24:42
趣味で金出したくないなら
Qt Creator
191デフォルトの名無しさん:2010/03/03(水) 10:35:04
test
192デフォルトの名無しさん:2010/03/05(金) 17:27:20
TJPEGImageで1920x1080の画像をSaveToFileすると10秒くらいかかってしまうのですが・・・
これって仕方がないのでしょうか?
それと、SaveToFileをしてる間はOSごと固まってしまいます
せめて固まるのはアプリだけにしたいのですがどうしたらいいでしょうか?
193デフォルトの名無しさん:2010/03/05(金) 18:20:23
圧縮前の bitmap イメージでも
1920x1080 * 4byte = 8Mbyte 程度か。

少し古い/遅い CPU を使っているとか?

OS/Driver の組み合わせだと、ディスク書き込み中に OS が反応なくなる場合があります。
もし搭載メモリに余裕があるのなら(といってもいまどき 1Gbyte 位は搭載しているだろうけど)
いったん 別のストリームへ SaveToStream で保存し、それから保存してみたら?

それでも OS が固まるなら、少し別の原因か
194デフォルトの名無しさん:2010/03/06(土) 04:09:07
BCB6を使用しています。
SSDに載せ替えたので、インストールしなおしたところ、コンパイル時に必ず以下のメッセージが出て止まるようになってしまいました。

Windows - ディスクがありません
Exception Processing Message c0000013 Parameters 764cbf7c 4 764cbf7c 764cbf7c

ググっても常駐ソフトを見直せとかの情報しか無く、困っています。
使用許諾コードは取得してあります。
よろしくお願いします。
195デフォルトの名無しさん:2010/03/06(土) 10:51:09
BCB2010でタイプライブラリの使い方を勉強しています
.ridlファイルで基本的な情報を設定すると
xxx_TLB.cpp と xxx_TLB.hができてひな形が作られるらしい
ということはわかったのですが
そっから先にどうすれば実際のインスタンスが作れるのかが
わかりません
どなたか基本的な使い方の手順を教えてもらえないでしょうか?
196デフォルトの名無しさん:2010/03/06(土) 12:07:35
>194
c0000013で検索した結果はちゃんと見て追試してそれでも何も問題となるようなものはない、
という状況なの?

>195
コンポーネントとしてインストールしてそれをフォームに貼ればいいんじゃない?
197デフォルトの名無しさん:2010/03/06(土) 16:55:48
>>193
なんとなく原因がわかりました
BitBlt等にBitmap->Canvas->Handleを渡してビットマップを作るとSaveToFile時に10秒くらいかかるようになってた
これSaveToFileで以前に保存したファイルをLoadFromFileしてからSaveToFileをすると
200msでくらいで終わってたんですが
なんでAPIでアレするとこんなに遅くなりますかね?
しかもOSごとって・・・
198194:2010/03/06(土) 19:19:50
>>196
物凄く不安定で、どうしたらいいのやら・・・。
セーフモードで立ち上げた後は動いたりするのですが、しばらくするとまた同じエラーが出たりします。
199デフォルトの名無しさん:2010/03/06(土) 19:34:02
そもそも環境的な説明はなしか
200194:2010/03/06(土) 20:48:25
環境はXPsp3。
常駐はAntiVirとSpybotとp2proxyくらいです。
201デフォルトの名無しさん:2010/03/06(土) 22:15:51
たぶん>>197に対するものだと思うけどな
202デフォルトの名無しさん:2010/03/07(日) 10:29:34
>>194
IncludeかLibのパスに存在しない場所が指定されてるんじゃない?
以前作ったプロジェクトファイルには存在した場所がSSD環境では消えているとか
203デフォルトの名無しさん:2010/03/07(日) 10:32:37
そのパスがリムーバブルメディアだったら出るみたいだね
再現できた
元FDやCDのドライブ名であたってみてくれ
204194:2010/03/07(日) 17:27:07
>>202-203
空のプロジェクトでは発生しなかったので、それっぽいです。
ありがとうございました。
205デフォルトの名無しさん:2010/03/08(月) 13:33:54
BCBとVC++のそれぞれの最新版で比べた場合
同じようなアプリを作った場合
実行速度は変わらないでしょうか?
206デフォルトの名無しさん:2010/03/08(月) 15:56:01
ずっとBCB使ってきてたんだけど
Visual Studio 2010のベータを試してみたら
ポトペタとか簡単にできてBCBとあまり変わらない

BCBの優位ってもうないんでしょうか?
207999:2010/03/08(月) 16:46:57
それはC丼だろ。
Visual Studio のC++って相変わらずの原始的レベルだろ。
C丼でいいのならVisual Studio使えばイイじゃん。
208デフォルトの名無しさん:2010/03/08(月) 17:04:50
>>207
.NETならば、C++でも、出来の悪いBCBっていう感じだよ
209999:2010/03/08(月) 18:57:13
VC++のDialogEditorのことを言っているのかね?
DialogEditorならC++Builderとは根本的に異なる訳だが。
ちがうのかな?
210デフォルトの名無しさん:2010/03/08(月) 21:15:53
C++/CLIなんて使い物にならんしな
211デフォルトの名無しさん:2010/03/08(月) 22:22:48
>>210
どこがダメなの?
重いの?
212デフォルトの名無しさん:2010/03/09(火) 08:52:43
C++/CLIって、元はmanaged C++であってポインタとか局所的にしか許さんでしょ。
だから、C++の標準STLでさえ、STL.CLIっていう特殊なライブラリが必要なんじゃね?
ましてやboostが動作するわけないし、C/C++系のライブラリ混ぜよう、とすると頓挫でしょ。
スタンスはC丼じゃんw
213デフォルトの名無しさん:2010/03/09(火) 09:12:37
>>212
Managed型を使わなければSTLも普通に使えるし、
ネイティブにコンパイルしたobjや静的ライブラリもリンクできるぞっと。
ただWinFormまわりは完全に.NETの世界なので、
GUIを手軽に扱うことを目的にC++/CLIを使いたいなら
GUI記述専用の言語が別にあると思ったほうが早い。
214デフォルトの名無しさん:2010/03/09(火) 10:23:03
結論:
VC++は使えねーヤシwwwww
215デフォルトの名無しさん:2010/03/09(火) 11:20:52
ということはネイティブC++でポトペタしたければ
やっぱりBCBが一番って信じていいんですね
216デフォルトの名無しさん:2010/03/09(火) 14:58:16
Windows7にC++Builder5をインスコしたら起動してくれないんだけど。。。
エラー内容は
'Debugger'の設定に失敗しました。
このエラーダイアログが出てOKボタンを押しても起動が途中で止まっていて
強制終了するしかないのですが、
これどうしたらちゃんと設定できますか?
217デフォルトの名無しさん:2010/03/09(火) 19:10:24
互換モードを設定したら?
218デフォルトの名無しさん:2010/03/09(火) 21:50:50
7は64?
219デフォルトの名無しさん:2010/03/10(水) 13:39:26
BCB(2010)で文字列リテラルのコードページをUTF8にする方法はないでしょうか?
例えば char* p = "あ"; とするとpにはシフトJISのコードが入り
wchar_t* wp = L"あ";とするとwpにはUCS2のユニコードが入ります
後者の方は当然だと思いますが、前者の方はソースコードをUTF8で保存しても
強制的にシフトJISにされてしまいます。他のコンパイラで使っていたUTF8の
コードをコンパイルしたら出力が文字化してしまって困っています。
220219:2010/03/10(水) 14:40:51
プロジェクトオプションの
C++コンパイラ→拡張でコードページが指定できるのですね
しかしこれだと全部のソースコードの一括指定みたいです
ソースコードごとに指定するのは無理なんでしょうか?
ファイルごとにローカルオプションが指定できるよ。
またはソースごとに
#pragma option -CP65001
を指定かな。
ソースコードのエンコーディングと
char 型のエンコーディングは独立することが C/C++ 言語規格で規定されているので、
まぁしょうがないね。
223219:2010/03/10(水) 17:10:40
>>221
ありがとうございました
#pragma option -CP65001
でうまくいきました
224デフォルトの名無しさん:2010/03/10(水) 18:30:45
>>216
Windows7 professional 32bitにBCB6だけど、Windows2000互換モードで動いてる
参考までに。
225デフォルトの名無しさん:2010/03/10(水) 18:55:40
2010のTo-Doリスト初めて使ったんだけど、
項目を追加しても、リストに反映されなくて、「完了した項目を表示」のチェックをON/OFFすると
表示が更新される

To-Doリストちゃんと使えてる?
226デフォルトの名無しさん:2010/03/14(日) 15:55:51
TDBGridでスクロールするとデフォルトではカレントレコードも同時にスクロールしますが
これをカレントレコードはそのままにしておく方法はあるでしょうか?
227デフォルトの名無しさん:2010/03/15(月) 09:44:28
ppp
228デフォルトの名無しさん:2010/03/15(月) 17:22:05
当時BCB6への移行を見送ってしまい2005移行への移行に躊躇したために
未だにBCB5を使っていたのですがunicodeへの対応が必須になり移行を考えています

質問なのですが現時点で購入するとすればC++Builder2010がベストなのでしょうか?
またProfessional版の場合にはVCLのソースが付属するのでしょうか?
229デフォルトの名無しさん:2010/03/15(月) 21:12:22
>228
C++Builderなら2010だな。当然VCLのソースもついてる。ただしdbExpress/DataSnapは
Pro版ではネットワーク上にデータを流してはいけないというEULA上の制約があるので気をつけて。
230デフォルトの名無しさん:2010/03/16(火) 09:29:21
VCL/ANSIとVCL/UNICODEを吸収してくれる良いクラスは無いでつか?
BCB6でも2010でも両方ともコンパイルできるようにしておきたい。
231228:2010/03/16(火) 11:58:38
>>229
情報ありがとう御座います、購入の方を進めてみます

長らく移行出来なかった理由の一つにLightReport2で複雑な帳票を作っていることもあるのですが
LightReport2をC++Builder2009又は2010で使用されている方はおられるでしょうか?
他言語文字がうまく印刷出来るのかどうかを知りたいです
232デフォルトの名無しさん:2010/03/16(火) 22:19:53
>230
それがライブラリなら頑張って#ifdefで共通ソース化する。そうではなくアプリケーションなら
ソースの共通化はすっぱりあきらめる。人間諦めが肝心。
233デフォルトの名無しさん:2010/03/20(土) 11:02:58
>>230
MECSUtils
http://homepage1.nifty.com/ht_deko/tech021.html
> Delphi 2007 / 2009 / 2010 で同名の関数を使って同等の処理可能にするのが MECSUtils です。
234デフォルトの名無しさん:2010/03/20(土) 11:28:12
コンポーネントや RTL の文字列エンコーディングを変える訳では無いので
ソースコードの共通化にはあまり向かない。
けれど、かなり特殊なことをしない限りは、シングルソースで対応できるのでまずは移植してみたら?

と書いていて、ここは CBuilder であることに気づいたよ。

tchar の問題とかあるからなぁ。
まず、手持ちのコードを _TCHAR 使うように書き換えて ANSI のままでデバッグ。
wchar_t や tcsXXXX 関数は CBuilder だと大昔からある。

C++ で書いたコンポーネントなの?
235デフォルトの名無しさん:2010/03/24(水) 10:57:05
PopupMenuのMenuItemのClickイベントでMenuItemからPopupMenuを識別する方法を教えてください
236デフォルトの名無しさん:2010/03/24(水) 11:00:49
GetParentMenuで取れた
おまえらほんと役にたたねーゴミだなw
237デフォルトの名無しさん:2010/03/29(月) 15:29:14
TLabelのCaptionは\nで改行できますが
TPanelのCaptionはどうやったら改行できますか?
238デフォルトの名無しさん:2010/03/29(月) 20:50:52
複数行は自前で描画する必要がある。DrawTextなので本来#13#10で改行して
描画されているのだが、高さ方向が常に1行分しか確保されていないので。
239デフォルトの名無しさん:2010/04/01(木) 16:21:39
教えてください。
AnsiString FileName = ExtractFilePath( Application->ExeName ) + "hoge.mdb";
Variant cat = Variant::CreateObject("ADOX.Catalog");
cat.Exec(Function("Create")<<"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";");

上記のコードはC++Builder5なら問題なく動作して正常にmdbファイルが作成されるのですが
C++Builder2007で行うとcat.Execで例外が発生してしまいます。。。
両方同じPCでコンパイルしてるのでOSの問題ではないとおもいます。
2007ではどうしたら正常に動作させることができますか?
240デフォルトの名無しさん:2010/04/02(金) 11:59:12
TStringGridで入力可にしてる時にセルを選択したらそのセルの文字列が
全部選択状態になっているのですが、これを選択状態にしない方法を教えてください
241デフォルトの名無しさん:2010/04/02(金) 16:55:56
タイムゾーンの取得する方法を教えてください
242デフォルトの名無しさん:2010/04/03(土) 13:36:09
なんつーか、回答する気も起こらないつまらん質問ってあるよね。
243デフォルトの名無しさん:2010/04/03(土) 13:48:36
回答する気にならないのなら、黙っていなさい。無理にコメントを書くことは無い。
244デフォルトの名無しさん:2010/04/03(土) 14:02:03
>>243
かっこいい
245243:2010/04/03(土) 16:25:18
俺は神様だ
俺の言う事には必ず従え
246デフォルトの名無しさん:2010/04/08(木) 18:16:46
TDateTimePickerで▼を押されたときに出てくるカレンダーのマウスカーソルを変える方法を教えてください。

DateTimePicker->Cursor =crCross;
だとコンボボックスしか変更されなかったので・・
247デフォルトの名無しさん:2010/04/14(水) 20:36:41
p
248デフォルトの名無しさん:2010/04/14(水) 20:38:17
C++Builder2007でTRichEditで特殊記号("§"等 )を追加すると
行挿入エラーが出るバグがあるのですが
これを回避する方法を教えてください
249デフォルトの名無しさん:2010/04/19(月) 09:45:37
p
250デフォルトの名無しさん:2010/04/19(月) 10:37:43
TUdpSocketで送信はできるのですが受信ができません。
どうしたら受信できますか??
251デフォルトの名無しさん:2010/04/19(月) 12:18:12
252250:2010/04/19(月) 15:45:25
いやそれは見たんですけど、イベントは必要ありません。
ただ受信さえできばいいんですが、
BytesReceivedやselectしても全然きてないんです
253デフォルトの名無しさん:2010/04/19(月) 18:26:52
ひとつは、送信と受信でポートが一致しているか確認する
もうひとつは、ファイアウォールなどでブロックされてないか調べる
254250:2010/04/19(月) 18:27:34
他よろしく
255デフォルトの名無しさん:2010/04/19(月) 19:10:49
NICのジャンボフレームの設定が双方で食い違ってないか確認する
256デフォルトの名無しさん:2010/04/19(月) 19:13:07
ていうか、「送信が出来た」のはどうやって確認したんだ?
257250:2010/04/19(月) 19:38:51
相手PCにターミナルソフトで受けたんだ
んで、逆にそのターミナルソフトから送信してやっても受信できない
ちなみにC++Builder2007
ごちゃごちゃほざいてないで、お前等もTUdpSocketで受信を試してみろ
258デフォルトの名無しさん:2010/04/19(月) 20:03:47
おもしろい奴だな
259デフォルトの名無しさん:2010/04/19(月) 20:35:04
Wiresharkで確認すれ。
260デフォルトの名無しさん:2010/04/19(月) 20:44:07
C++Builder5のNMUDPでなら受信できたよ
261250:2010/04/20(火) 11:36:58
>>260
まじですか
とりあえず2007はバグって受信すらできないので
俺もBuilder5のNMUDPでやってみたんですが、やっぱ送信できても受信ができなかった。
チラっとコード教えて。
ちなみにWindowsのFWはOFFってるしPFWも入れてない。
262260:2010/04/20(火) 11:58:58
こんな感じで

void __fastcall TADataModule::NMUDP1DataReceived(TComponent *Sender, int NumberBytes, AnsiString FromIP, int Port)
{
  scoped_array<char> buf(new char[NumberBytes+1]);
  int s = 0;
  TNMUDP& aNMUDP = dynamic_cast<TNMUDP&>(*Sender);
  aNMUDP.ReadBuffer(buf.get(), NumberBytes+1, s);
  buf[s] = 0;
  // ...
}
263250:2010/04/20(火) 12:52:21
>>262
あ、どうもありがとう。
むしろ、それ以前にDataReceivedイベントが入らないので
その前のポート設定とかを教えてくださ。
これってbindしなくても勝手に受信できる状態になってるんですかね?
264260:2010/04/20(火) 13:11:15
TADataModuleのコンストラクタで LocalPort にポート番号設定
ReportLevel は 1 にしてる
それだけだよ
265250:2010/04/20(火) 13:27:32
>>264
あ、ありがとうありがとう。でけますた。
RemotePortとLocalPortの設定が逆でした馬鹿でした俺はゴミです。

2007のTUdpSocketもそれがアレで受信できなかったのかなあ
とりあえず試してみまふ
266250:2010/04/20(火) 13:37:01
う〜ん、やっぱ2007はダメかあ。
2007でもLocalPortとRemotePortを逆にしてやってみたりはしてたんだが
こっちの場合はRemotePortに目的のポート番号を指定しないと出力もできなくなる
だから5のNMUDPでもRemotePortに指定してたんですが・・・

ちなみに、俺は昨日から何をほざいてるかと言うと、
最初はWinsocket APIでUDPで通信していて、相手から受信してから
返答を返す時に、相手が受け取ってくれない(SNMPのアレ)
勿論こっちはちゃんと返答を返しているのはターミナルソフトやWiresharkで確認済み。
んで、WiresharkでよくよくみるとSrcポートとDstポートがどうも逆っぽいみたいな
Winsocket APIでこれを逆にできれば一番いいのだが、調べたがやり方がわからない
そこでVBのうんこコンポで試してみたらLocalPortとRemotePortがあったので
それでアレしてみたら見事にちゃんとなってくれたので
それならBuilderのコンポでやってみるかってことで、

267250:2010/04/20(火) 13:55:15
あ、ちなみなんだこれNMUDP
これ送信するときはLocalPort=0、RemotePort=目的ポート番号で
受信するときはLocalPort=目的ポート番号、RemotePort=0
じゃないとダメなのかこれ
つーことはこれって送信と受信したいなら2つNMUDPを使えってことか!!
なんじゃこの糞仕様はw
268250:2010/04/20(火) 14:05:36
あ、違った。
送受信するならLocalPorとRemotePortにポート番号をぶち込めってことだったぽ。。

いろいろすまんこったい
269250:2010/04/20(火) 14:09:05
あ、ダメだ。
LocalとRemoteポートを同じにしたら結局APIでやてtるのと同じだこれ。

うんこしてくる
270デフォルトの名無しさん:2010/04/20(火) 14:10:11
>>267
ひとつで送受信は一応できると思う。
LocalPort : 待ち受けポート番号
RemotePort: 送信先ポート番号
っていうことで、送信元ポート番号や受信元ポート番号を
指定できない糞仕様だったと思う。
271250:2010/04/20(火) 15:13:44
>>270
VBのアレが同じLocalPort、RemotePortって名前で
向こうはしっかりとSrcポートとDstポートがアレできてたから
こっちもてっきり出来ると思っていたんですが、どうやらうんこだったようで・・・
272260:2010/04/20(火) 15:25:32
ついでにNMUDPはbroadcastもできないよ
なのでググりながらwinsock使ったことあるけど
難しくはないと思うよ
273250:2010/04/20(火) 15:30:37
>>272
ええええ!!
winsockでは普通に送受信はしてたんですがー
それでSrcポートとDstポートって制御できましたか??
その辺を是非教えて頂きたいです
274デフォルトの名無しさん:2010/04/21(水) 16:37:04
マイナー製品使うと、クソ品質、クソ仕様だらけで、結局そういうクソな部分の
解決なり時間費やすはめになる。
275デフォルトの名無しさん:2010/04/21(水) 17:41:18
>>274
マイナーかどうかは余り関係がないと思う。

それを補って余りあると考えている人間が使っているのだから
以下略

276デフォルトの名無しさん:2010/04/26(月) 10:53:03
Builder2007で
ListView1->SortType = stData;
ってすると、stDataが曖昧だってコンパイルエラーがでます。
これどうやってキャストしたら馬鹿な2007は納得してくれますか?
277デフォルトの名無しさん:2010/04/26(月) 10:59:51
namespace::
278デフォルトの名無しさん:2010/04/26(月) 11:01:57
>>277
今度は馬鹿な僕が理解できませんでした。
それでキャストしたらエラーでましたが、どやって記述しますか?
279デフォルトの名無しさん:2010/04/26(月) 11:09:09
いやマジでC++の入門書くらい読んだ方が良いって。

今回の件に関してだけなら
stDataが定義されているComctrls::stDataとかで足りるかもしれないけどな。
280デフォルトの名無しさん:2010/04/26(月) 11:13:18
C++の入門書にComctrls::って載ってる?
まあお前が答えるより先に解決したから礼なんて言わないし役立たずとかしおもってないし
281デフォルトの名無しさん:2010/04/26(月) 11:21:02
おまえのヘルプには載ってないのか。

ホント、バカは何をやってもバカなんだな。
282デフォルトの名無しさん:2010/04/26(月) 11:35:33
ん?
2832068:2010/04/26(月) 14:27:01
このスレのタイトルは
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
2842068:2010/04/26(月) 14:28:05
>このスレッドは、他のスレッドでは書き込めない超低レベル、
>もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
>C++Builder使いが優しくコメントを返しますが、
>お礼はC++Builderの布教と初心者の救済をお願いします。
285デフォルトの名無しさん:2010/04/28(水) 11:08:33
質問ですが。。。
Builder2007では↓のような関数を呼ぶときに
void hoge( const char *buff )
{
}
↓のコードでよかったのですが
hoge( Edit1->Text.c_str( ) );
Builder2010で同じコードだと
E2034 'wchar_t *' 型は 'const char *' 型に変換できない
ってエラーがでます・・・
これどうやってキャストしたらいいですか?
286デフォルトの名無しさん:2010/04/28(水) 11:13:46
AnsiStringでキャストしたらできました・・・

けどこれって全部AnsiStringでキャストしないとダメですかね。。。

はぁ・・・何この糞仕様・・・
287デフォルトの名無しさん:2010/04/28(水) 11:27:20
っていうか・・・・
2007で作ったのを2010でコンパイルすると
2010で作ったexeは2007のよりサイズが倍になってるんだが・・・
これ以前にBuilder5で同じバグがあってアップデートで多少小さくなったんですが
これ2010もひょっとして同じバグ?
それとも単純に無駄な機能が増えまくってexeが肥大化しただけですか?
うーむどっちみち気持ちいいものではないなあ。
288デフォルトの名無しさん:2010/04/28(水) 11:35:12
2010はUnicode対応になってるので、その分ライブラリが肥大してると
思われる

吐いたコードを逆アセンブルで見てみな
289デフォルトの名無しさん:2010/04/28(水) 11:58:02
うるせえこのぶたやろう
290デフォルトの名無しさん:2010/04/28(水) 12:03:07
>>289
なんだとこのぶた
291デフォルトの名無しさん:2010/04/28(水) 12:50:48
やめんか豚ども
292デフォルトの名無しさん:2010/04/28(水) 13:56:42
とんかつウマー
293デフォルトの名無しさん:2010/04/28(水) 16:08:51
どたどうしなかよくしようぜぶた
294デフォルトの名無しさん:2010/04/28(水) 18:11:44
なんで、超初心者用スレが荒れているんだ。
超初心者用でない質問スレがなくて、ここが超初心者用だと認識していなかった阿呆のせいか?
295デフォルトの名無しさん:2010/04/29(木) 00:19:57
>285
2010ではString=UnicodeString(UTF-16)となった。hogeがconst char *をパラメータで
受け取る仕様とは食い違いがある。Stringを一旦ANSI(Shift_JIS)に変換してから受け取るか、
const wchar_t *を受け取るように変えるか、どっちかが必要。

>287
2010の新機能である属性(Attribute)の影響かと。
296デフォルトの名無しさん:2010/04/30(金) 14:10:19
すんません
wchar_t filename[256];
::lstrcpy( filename, ExtractFilePath( Application->ExeName ).c_str( ) );
普通にコピーしたいんですがエラー出ます
これwchar用の関数かなにかあるんですか?
297デフォルトの名無しさん:2010/04/30(金) 15:44:38
lstrcpy は Windows Kernel API だから lstrcpyW があるな。
lstrcpy が lstrcpyA にマッピングされている。ということは
UNICODE モードでコンパイルされていないようだから、
よい機会なのでアプリケーション全体を UNICODE モードでコンパイルしてみたら?

ANSI 規格準拠で書きたければ wcscpy で。

C/C++ 言語は10年以上まえから UNICODE サポートを行っているので、必要なものは
そろっていると思ってよいですよ
298デフォルトの名無しさん:2010/04/30(金) 15:47:57
>>297
ありがとうございます。
この機会にアレするとして今後の事を考えると
どういう書き方がいいですかね?
299デフォルトの名無しさん:2010/04/30(金) 16:09:34
プロジェクトの設定ダイアログに
「TCHAR を wchar_t にする」みたいなオプションがあるから
それを有効に。
これで Windows API と関連する部分が UNICODE に切り替わるので
コンパイルエラーが出てきたところを _T 系マクロでラップ。

T マクロを使う分には、ANSI/WIDE 両方で動くコードを作れる「はず」なので
「WIDE モードでエラーをつぶす」
「ANSI に戻して動作チェック」
「WIDE にして動作チェック」
を繰り返す。

最終的に ANSI/WIDE 両方で動く(C/C++)コードができて
WIDE モードでコンパイルすれば UNICODE-VCL との親和性も高くなる。

というところ。

300デフォルトの名無しさん:2010/04/30(金) 16:24:31
>>299
あ、プロジェクトオプションのそれをアレしたら普通にlstrcpyでもコンパイル通った。
基本的にTCHARの設定はアレしないほうがいいんですかね?
これから新たに作るとかのときは
301デフォルトの名無しさん:2010/04/30(金) 16:46:13
なぜコンパイルが通ったかを理解していないと、ちょっと危ないかも。

lstrcpy (を含む Windows API で、文字を扱うもの)は、
lstrcpyA と lstrcpyW が実体として定義、提供されていて、
Windows.H とその配下がマクロ(単純な #define)で plain な lstrcpy にマップしているのです。

296 で提示されているコードでは wchar_t (と c_str())を直に使っているので、
WIDE 版の API である lstrcpyW を明示的に呼ぶほうが素直かも知れません。
ここら辺は各自の判断でよいかと。
302デフォルトの名無しさん:2010/04/30(金) 16:52:31
>>301
色々とありがとうございます。
ちょっとwchar_t等の知識が乏しいのでまずはその辺を勉強してみます。
ご教授ありがとう。
303デフォルトの名無しさん:2010/04/30(金) 16:59:40
「TCHARの設定」は、影響範囲とかがわからない場合には、むやみに変更しないほうがよいでしょう。

以下のコードなら、ANSI でも WIDE でも動きますよ。

TCHAR filename[256];
_tcscpy( filename, ExtractFilePath( Application->ExeName ).t_str( ) );

304デフォルトの名無しさん:2010/04/30(金) 17:00:15
おっと、<tchar.h> を追加するのを忘れずに
305デフォルトの名無しさん:2010/04/30(金) 17:28:33
>>303-304
確かにそれでコンパイル通りましたが・・・
filenameの中身をみてみると??になってました・・・

ちなみにTCHARって1バイトなんですねこれ。
306デフォルトの名無しさん:2010/04/30(金) 17:36:38
CBuilder5では以下のコードはOKでちゃんとmdbファイルが作成されるのですが
CBuilder2010でやるとコンパイルエラーはでないのですが、実行するとアクセス違反エラーが出ます。
Variant cat = Variant::CreateObject("ADOX.Catalog");
cat.Exec(Function("Create") << "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\test.mdb");

これ、どうしたら正常にmdbファイルを作成することができますか?
307デフォルトの名無しさん:2010/05/01(土) 05:57:24
>実行するとアクセス違反エラーが出ます。
どこで?
308219:2010/05/01(土) 09:06:17
HTMLの特殊記号をUnicodeに変換(&を&に変換する)してくれるような
機能はVCLにありますか?
309デフォルトの名無しさん:2010/05/01(土) 10:23:40
>>305
TCHARはマクロ

#ifdef UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif
310デフォルトの名無しさん:2010/05/01(土) 10:28:01
311デフォルトの名無しさん:2010/05/04(火) 11:50:15
初心者ですお勧め参考書教えてください
312デフォルトの名無しさん:2010/05/05(水) 17:01:47
TRegistryのWriteDateTimeとWriteTimeって同じ動作をするような気がするんですが...
WriteTimeにしたからといって引数の日付値が消えるわけではないんでしょうか?
313デフォルトの名無しさん:2010/05/06(木) 10:42:27
>>311
プログラミング初心者かC++初心者かC++Builder初心者かで違う。
前ふたつはできて、C++Builder初心者ならDelphiの参考書とマニュアルのC++拡張見れば十分。
314デフォルトの名無しさん:2010/05/06(木) 21:50:24
C++Builder使ってる参考書ってあんの?
315デフォルトの名無しさん:2010/05/06(木) 22:22:25
>312
WriteDateTimeとWriteDate/WriteTimeは同一の動作。つまり
> WriteTimeにしたからといって引数の日付値が消えるわけではない
で正解。
316デフォルトの名無しさん:2010/05/06(木) 23:12:34
>>314
Amazonで検索してみれば?
317デフォルトの名無しさん:2010/05/07(金) 20:33:39
p
318デフォルトの名無しさん:2010/05/07(金) 20:34:21
>>307
やっとあくきんがとけた
cat.Execの行でエラーでます。
これ何とかなる方法はありますか?
319デフォルトの名無しさん:2010/05/08(土) 02:40:30
アクセス違反エラーを出しているモジュールを知りたかったので、
表示されているアドレス等、一式が欲しかったんだな。

多くのダイアログは、Ctrl-C でテキスト部分がコピーできるので、
気楽に保存できるよ
320デフォルトの名無しさん:2010/05/10(月) 12:22:32
>>319
エラーはEAccessViolationって書いてあるダイアログが出るだけです・・・
321デフォルトの名無しさん:2010/05/11(火) 11:07:17
C++Builder2007か2010でODBCを経由せずに直接DBアクセスする方法教えてください。
あ、DBはアクセスのmdbでいいです。
322デフォルトの名無しさん:2010/05/11(火) 11:13:48
ADOならいいのか
323デフォルトの名無しさん:2010/05/11(火) 11:24:26
dbgo とか ADOTable とか使ってみたら > 321
324デフォルトの名無しさん:2010/05/12(水) 09:49:17
ppp
325デフォルトの名無しさん:2010/05/12(水) 10:59:49
mdbファイル操作について質問ですが
Variant::CreateObject("ADOX.Catalog");を利用して
フィールドの型とサイズを取得する方法を教えてください
326デフォルトの名無しさん:2010/05/12(水) 12:37:07
TMaskEdit の EditMask プロパティを実行時に変更すると
スタックオーバーフローとか例外を吐かれたので解決方法調べてたんだが
AutoSelect = false にすると収まったんで、とりあえずここにチラ裏していく。

ブレークポイント&ステップ実行使うと再現しなくなる例外でしたよ
327デフォルトの名無しさん:2010/05/12(水) 13:28:04
      for col in rs.Fields:
        col.name, col.type, col.size
328デフォルトの名無しさん:2010/05/12(水) 16:28:43
そんなバグだらけな製品よく使う気になるよな。
329デフォルトの名無しさん:2010/05/12(水) 21:32:42
VCやGCCよりは遥かに少ないけどな
330デフォルトの名無しさん:2010/05/12(水) 22:06:45
2011が出る前に2010買っておいた方がいいのかな
331デフォルトの名無しさん:2010/05/13(木) 15:33:35
>>325を教えて
332デフォルトの名無しさん:2010/05/13(木) 16:15:57
64bit対応版が安定するまでは6Pro使い続ける
333デフォルトの名無しさん:2010/05/14(金) 12:17:12
bcb2007使用しています。
Memo1にAnsiStringに貯めこんだ改行含みの文字列を表示させて計算結果を表示しています。
数が多くなると処理が遅くなっています。高速化の定石があれば教えてください。

Ansi
334デフォルトの名無しさん:2010/05/14(金) 12:20:47
enter押したら投稿してしまいました。

bcb2007使用しています。
Memo1にAnsiStringに貯めこんだ改行含みの文字列を表示させて計算結果を表示しています。
数が多くなると処理が遅くなっています。高速化の定石があれば教えてください。

AnsiString s="";
for(){

s+=文字
}

for(){

s+=文字
}

for(){
s+=文字

}

Memo1->Text=str;

このような形です。
Memoにはこだわっていません。sのサイズがわからないので、
とりあえず、AnsiStringを使っています。
よい文字格納変数型とよい表示コンポーネントはあるでしょうか?
335デフォルトの名無しさん:2010/05/14(金) 16:26:25
IdUDPServerでいいからsrcポートとdstポートを逆にして送信する方法教えてよ
336デフォルトの名無しさん:2010/05/14(金) 18:11:42
>>334
std::string str;
str.reserve(64*1024);
...
Memo1->Text = str.c_str();
でどうかね。
337デフォルトの名無しさん:2010/05/14(金) 18:18:44
ああそうか
C++BuilderにはStringBuilderがないからか
338デフォルトの名無しさん:2010/05/14(金) 18:28:43
>数が多くなると処理が遅くなっています。
どれくらいの量の文字列を扱っていますか?

文字列処理が遅いのか、描画が遅いのか。をまず分けたほうがよいですね。

Memo1->Text=str;

をコメントアウトして
あと、速度の話をするときは、ちゃんと時間を計りましょう。

LARGE_INTEGER _start, _end;
QueryPerformanceCounter(&_start);
QueryPerformanceCounter(&_end);

__int64 lap = _end.QuadPart - _start.QuadPart;

こんなんで、CPU のクロック単位の経過時間が計れます。
339デフォルトの名無しさん:2010/05/14(金) 21:32:23
334です。
レスありがとうございます。
std::string str; を検討してみたいと思います。(BCBではつかえない?)
時間に関しては、文字蓄積時はあちこちなので、
時間がはかりづらいですが、

コンポーネントへの表示処理とそれまでの計算時間を
指標にして表示処理を時間的に評価してみたいと思います。

計算結果をテキストに表示する手法の常套手段が
知りたいのもありました。

なお計算は動的計画法なるもので、計算量はピンからキリまでありますので、
組み合わせが多い状態の高速化を図る予定です。
340デフォルトの名無しさん:2010/05/15(土) 03:19:55
一般論として。
「速度をあげたい」と思ったら、まずそれを測定することを考えましょう。
測定するために対象を調査していく過程で、問題点そのものが分かってしまう場合があります。
定期的に速度を計測、比較することで、少なくとも、改造の結果かえって遅くなった。ということは
避けられるでしょう。

テストするときは単一データではなく、複数のデータを使うこと。テストデータの量を変えること。
10, 20, 50, 100, 200, 500.... といった (1, 2, 5) パターンがおすすめ。
時間がかかるので端折るときでも、桁が異なる複数のデータ量での計測を忘れずに。

ある程度、対象データ構造、アルゴリズムの癖が分かったら、本質的にどこまで速くなるのか。
を考えてみること。データが(毎回)ディスクから読み取られるなら、ディスクアクセス速度より
速くはできない。(キャッシュとか考えないと)
CPU のキャッシュを超える量のデータを扱うなら、メインメモリのアクセススピードを超えることはできない。
まぁ、ここら辺は厳密に計算する必要はなく、桁合わせ程度の概算で十分ですが、
原理上不可能な速度を追求して時間を浪費するのは避けたいですし、
逆に「もう一桁速くできるはずだ」となるかもしれません。


341デフォルトの名無しさん:2010/05/15(土) 12:27:07
>>334
TStringStreamを使ってみてはどうだろうか?
342デフォルトの名無しさん:2010/05/17(月) 22:05:25
TStringStream
ありがとうございます。
検討中なので結果報告できないですが、ご容赦ください
343デフォルトの名無しさん:2010/05/26(水) 11:40:30
早く>>325を教えろつってんだ!!
344デフォルトの名無しさん:2010/05/26(水) 21:21:46
調査中ですので、あと10年ほどお待ちください。
345デフォルトの名無しさん:2010/05/27(木) 11:04:13
うるせー!
346デフォルトの名無しさん:2010/06/02(水) 14:01:19
HDCをTBitmapにする方法教えて
347デフォルトの名無しさん:2010/06/02(水) 17:25:05
SQLConnectionでmdbファイルをアクセスする方法とかを教えてくださいよ
348デフォルトの名無しさん:2010/06/02(水) 22:59:11
>346
TImagePicture.Bitmap.HandleもHDCなので、ここに向かってBitBltすればいいんじゃない?
349デフォルトの名無しさん:2010/06/03(木) 09:41:54
>>348
できました
350デフォルトの名無しさん:2010/06/04(金) 15:55:05
2007でデスクトップのサイズ(横幅)を超えるフォームを作っても
実行するとデスクトップの横幅と同じサイズになってしまうのですが
これちゃんと指定したサイズになる方法を教えてください
351デフォルトの名無しさん:2010/06/04(金) 18:06:02
さっさと教えやがれ
352350:2010/06/04(金) 19:11:01
はよ、教えろや
役にたたん奴らばぁじゃのぉ
ウンコでも食うとれや
353デフォルトの名無しさん:2010/06/04(金) 22:27:33
ウィンドウはデスクトップサイズを越えることができなかったはず。Windowsの制限。
クレームはゲイツかカトラーにどうぞ。
354350:2010/06/05(土) 05:35:49
>>352
で?
355デフォルトの名無しさん:2010/06/07(月) 10:03:47
VMなんかでホスト側の解像度を超えられないのは馬鹿じゃねとかおもう
356デフォルトの名無しさん:2010/06/11(金) 19:36:52
C++Builderでバージョン情報の自動更新などもない状態で全く同じファイルを
コンパイルするとその都度違うファイルが出来ますがこれは何故なんでしょうか?
357デフォルトの名無しさん:2010/06/12(土) 00:01:15
インクリメンタルリンクしてるからじゃね?
フルビルドすると同じになるはず
358デフォルトの名無しさん:2010/06/12(土) 00:26:02
ビルドの日付が埋め込まれるから異なるとかそんな話か?
359356:2010/06/12(土) 00:56:43
ありがとうございます
インクリメンタルリンクは切ってあります
ステートファイルの作成をしないにチェックが入っていて/Gnオプションがオプションソースに書かれています
でも毎回違うファイルになってしまいます

>>358
そういうことなのでしょうか?
どこかにオプションはありますか?
360デフォルトの名無しさん:2010/06/12(土) 12:26:33
>>359
プロジェクト→オプション→バージョン情報とかじゃね?
ビルドの日付を埋め込むオプションは見つからんなあ
361デフォルトの名無しさん:2010/06/12(土) 13:54:38
>>360
そうですか
バージョン情報のチェックは入ってない状態です

何で微妙に違うファイルが毎回出力されるんだろう
というかこれってうちだけの現象なんでしょうか
362デフォルトの名無しさん:2010/06/12(土) 14:00:13
diffってみたら?
363デフォルトの名無しさん:2010/06/12(土) 16:18:13
WindowsはPEヘッダにタイムスタンプ入るから同じEXEはできない
オプションはない
それでも2バイト前後だから10バイト以上異なるならデバッグ情報ジャマイカ?
364デフォルトの名無しさん:2010/06/12(土) 20:30:52
成る程そういうことでしたか
大体10バイト程度ですが近くにPE\0の文字も確認できるのでそれで間違いなさそうです
勉強になりました
どうもありがとうございます
365デフォルトの名無しさん:2010/06/13(日) 16:08:55
ようやく64bitに対応したね
366デフォルトの名無しさん:2010/06/13(日) 16:12:43
あとはデバッガが動けばねぇ
367デフォルトの名無しさん:2010/06/13(日) 17:11:23
すみませんが、BCB6でfastmmのフルデバッグモードを使うには
どのような設定が必要かご教示お願いします。
FastMM4.pasやFastMM4BCB.cppをプロジェクトに組み込んだのですが、
終了時にメモリリークのダイアログしかでてこないので、どこでリークしているのか
良く分かりません。
368デフォルトの名無しさん:2010/06/13(日) 21:19:22
C++Builder使いじゃないからよくわからんけど、プロジェクトオプションでFullDebugModeを
定義済の状態にしてFastMM関係のソースをコンパイルすればいいはず(*.objか*.dcuを
一旦削除することで)。FastMM_FullDebugMode.dllを配置するのも忘れずに。
369デフォルトの名無しさん:2010/07/02(金) 20:18:11
わかりました。
370デフォルトの名無しさん:2010/07/28(水) 10:55:56
BCB2010を使ってるんですが
これのSTLのfstreamって
4GB超えるファイルは扱えないんでしょうか?

ifstream in(file_path, ios::binary);
in.seekg(0, ios::end);
int64_t file_size = in.tellg();

とやると
小さなファイルでは正しくファイルサイズが返ってきますが
4GB超えるファイルを開くと file_size には0xFFFFFFFFFFFFFFFFが返ってきます
371デフォルトの名無しさん:2010/07/28(水) 20:52:19
>>370
std::ifstream::tellg()はstd::pos_typeを返す

従ってstd::pos_typeの内部表現次第と言うしかない
つまり処理系依存

これを避けるのはWin32を直接触るしかなかろう
372デフォルトの名無しさん:2010/07/28(水) 21:32:11
確か、stdioも同じなはず。
シーケンシャルに4G超えを読み取ることは出来る(はず)が
seekは出来ない(_lseeki64とかを使う)。
また、tellで得られる値も32bit。

VC++がそういう仕様になっているので
他の処理系もそれに合わせてるんじゃないかとも思う。
373デフォルトの名無しさん:2010/08/09(月) 13:43:51
TForm::OnCloseの中で、
>delete this;
って、
アリですか?
374デフォルトの名無しさん:2010/08/09(月) 15:28:55
ない
Action = caFree;
でok
375デフォルトの名無しさん:2010/08/09(月) 17:33:13
d

検索したらイパーイ出てきました。
ttp://kakinotane.s7.xrea.com/delphi/d2/d035.html
ttp://homepage1.nifty.com/MADIA/delphi/delphi_bbs/200608/200608_06080037.html


やっぱ、delete thisすると、フォームを閉じる前にオブジェクト破棄しちゃうわけですね?
それとも、C++ のクラスで、自オブジェクトのdeleteは許可されてないとか?
376デフォルトの名無しさん:2010/08/09(月) 18:32:58
>C++ のクラスで、自オブジェクトのdeleteは許可されてない
言語仕様としては許されているが、実行時に解放済みメモリポインタをアクセス、または多重解放が起きる
可能性が高い。(かつコンパイル時には発見しづらいので、デバッグしにくいバグを抱える原因となる)

Google で Delete This で探せばいくらでも資料が出てくるよ

VCL に限った話をすると、OnClose の後に、Windows OS からメッセージが飛んでくる場合があり、
予想外のことが起きる可能性が高いです。OnClose は(可視)なウィンドウ実体の、終了直前に呼ばれる物。
そのあと、いろいろ後始末をしてから、C++ ランタイムとしてのメモリ実体が削除されることになっています。

なので、直接削除は避けた方が良いですよ。
または、ちゃんと設計して見切って使うように。

377デフォルトの名無しさん:2010/08/10(火) 09:27:23
ググれば良かったのねw、ton
378デフォルトの名無しさん:2010/08/10(火) 19:47:03
Windows7でエアロ切らずにGDI描画を速くする方法ありませんか?
379デフォルトの名無しさん:2010/08/10(火) 21:56:57
一般的にWindows 7ではエアロが有効なほうが描画が早くCPU負荷も低い。エアログラスは切ったほうが軽くなるが。
でなんだって?
380デフォルトの名無しさん:2010/08/22(日) 22:51:01
どなたかアドバイスお願いします。

関数プロトタイプ宣言で以下の様に記述すると、
「エラーE2303 型名が必要」と表示されます。
第2引数のTtrackBarを削除するとエラーは出ません。
何がいけないのでしょうか?

Func( TEidt *Edit, TTrackBar *Bar, DWORD num );
381デフォルトの名無しさん:2010/08/22(日) 22:53:40
環境を書き忘れました。

BCB6Pro+SP4
XP32bit

です。
382デフォルトの名無しさん:2010/08/23(月) 00:34:22
TTrackBarに必要なヘッダがincludeされていない
383デフォルトの名無しさん:2010/08/23(月) 00:35:52
ComCtrls.hpp だな
384デフォルトの名無しさん:2010/09/06(月) 08:04:54
いまだ、C++Builder6を使っているんだけど、最新版には64ビットコンパイラは含まれてるの?
385デフォルトの名無しさん:2010/09/06(月) 08:33:50
質問です。
TListViewにて
ListView1->ViewStyle=vsReport;
とし、列を複数表示します。
マウスを使って、先頭の列を他の列に移動します。
そして先頭の列の状態を取得すると
ListView1->Columns->Items[0]->Caption;
ListView1->Columns->Items[0]->Width;
ListView1->Columns->Items[0]->Alignment;
ListView1->Columns->Items[0]->ID;
ListView1->Columns->Items[0]->Index;
上記のWidthだけが、入れ替え前の列幅値となってしまいます。
他の値は、ちゃんと入れ替え後の列の値が取得できます。
マウスで列の入れ替えを実行したあとに、各列の幅を取得するにはどうしたら良いのでしょうか。
386デフォルトの名無しさん:2010/09/06(月) 23:24:52
>384
まだ
Delphiは来年、C++Builderは再来年の予定
387デフォルトの名無しさん:2010/09/07(火) 14:08:06
再来年って遅くね?
388デフォルトの名無しさん:2010/09/07(火) 21:15:16
そうは思うけど、ロードマップとフォーラムで再来年目標(キリッって書いてたし。
389デフォルトの名無しさん:2010/09/08(水) 11:23:18
だってお、バンバン
390デフォルトの名無しさん:2010/09/14(火) 16:41:48
Builder2007ですがデータベースのバックアップ(MySQL)を
別サーバーに定期的に取りたくて
サーバーA(元)はSQLConnection1とSQLTable1で接続し、
サーバーB(先)はSQLConnection2とSQLTable2で接続したのですが・・・
そこからどうやって各テーブル内容をAからBに作成したらいいのですか?
ちなみにBにはデータベースはありますが、テーブルは無いので
テーブルを作成して全レコードをコピーしたいのですが・・・

391デフォルトの名無しさん:2010/10/02(土) 08:39:47
デザインをC++ビルダーで作って
細かいところをVisualC++で直すとかできますか?
392デフォルトの名無しさん:2010/10/02(土) 08:43:42
VCL ライブラリを MSVC ではリンクできないのでかなり大変。
くだすれに来るような人には無理。

よくある現実解は、ガワだけ CBuilder で作り実作業は VC で作った DLL に任せる。
393デフォルトの名無しさん:2010/10/02(土) 12:26:33
速解ありがとうございました。

つまり処理系はDLLでもう弄くれないようにして
そいつをビルダーで呼び出すということですか

opengl使ったソフトウェアを組みたかったのですが
なかなか大変ですね。

加えて質問なのですが
現在は試用版しかないという理解でよいですか?
Turbo C++ Explorer 日本語版 というものが使えれば
DLしたかったのですが…難しそうですね
394デフォルトの名無しさん:2010/10/02(土) 12:54:53
C++BuilderでOpenGLは別に問題ない組み合わせじゃまいか?

試用版しかない、という理解はそれでOK。
395デフォルトの名無しさん:2010/10/02(土) 13:54:48
Explorer 本体はまだウェブに残ってるけど、ライセンス キーもウェブに転がってる奴くらいしかない
http://www.turbomirror.com/
396デフォルトの名無しさん:2010/10/02(土) 15:54:40
reg740txtは中国によくうpされてるらしいね

397デフォルトの名無しさん:2010/10/07(木) 23:55:35
これからC++Builder始めます
C++Builderでのwindowsアプリケーションを始めるにあたり
398デフォルトの名無しさん:2010/10/08(金) 19:10:51
2009でデバッグ時TEdit->TextとかTStringGrid->Cells[][]とかの中身見れなくなったけど
2010やXEじゃ改善されてるの?
399デフォルトの名無しさん:2010/10/09(土) 11:12:21
アカデミ版で作ったソフト売っちゃいけないの?
400デフォルトの名無しさん:2010/10/09(土) 14:21:42
ライセンス違反ですね。
401デフォルトの名無しさん:2010/10/09(土) 16:37:25
↑あっそう?
パッケージには何も書いてないけどね
402デフォルトの名無しさん:2010/10/09(土) 16:56:37
EULAに書いてあるでしょ?
403デフォルトの名無しさん:2010/10/11(月) 15:08:00
C++builder触って、いろいろ講座のコピペで楽しんでますが
これって結局Win32APIのラッパーウェアってこと?
404デフォルトの名無しさん:2010/10/11(月) 15:43:26
すいません、ラッパーウェアってなんですか?

VCLはWin32を適度な抽象度でラッピングしている、って意味なら、そうですね。
405デフォルトの名無しさん:2010/10/11(月) 16:09:35
406デフォルトの名無しさん:2010/10/12(火) 19:39:14
一般にはフレームワークって言わないか?
407デフォルトの名無しさん:2010/10/20(水) 22:01:44
フォームに直接描画せず、コンポーネントのみで「□」の様な中抜きの枠を作ることは可能でしょうか。
環境はBCB6です。
408デフォルトの名無しさん:2010/10/21(木) 06:57:14
可能ちゃぁ可能だが。そういうコンポーネントを作ればいいんで。ただやることは
親フォームに対するリージョンの設定ってことになると思うけど。
409デフォルトの名無しさん:2010/10/21(木) 11:16:05
BCB 2010 使ってみてるんですが、TRegexp で躓いてます。

基本的な事が解って無いので

簡単な文字列検索をやってみたいんですが・・・。
Edit と Button と Memo とを貼り付けたフォームで
Button の OnClick イベントで

 TRegexp ex((char *)Edit1->Text.c_str()); // キャストに問題?
 pos = ex.find((char *)Memo1->Text.c_str(), &len, start); // 同じく...?

こうすると、コンパイルは通りますが、検索する文字が有るにも関わらず、
posには「-1」しか返ってきません。

どうしたら上手くいくでしょうか...。(多分、おばかな質問ですみません)
410409:2010/10/21(木) 11:55:20
>>285, >>286 を元に自己解決しました。

TRegexp が Unicode対応じゃないので、ANSIに変換すればいいんですね...。
オーバーヘッドが生じるとは思いますけど。
411デフォルトの名無しさん:2010/10/21(木) 14:15:59
ファイル数が多いプロジェクトをクリーン状態からコンパイルするときに、
ソース一個ずつ順番にコンパイルしていくのが遅くて辛抱たまらんので
せっかくマルチコアCPUが普及してきてんだから .obj 作るとこくらい
並列で複数同時に実行できんかいなと考えてるんだが、なんかいい手ないか?

バッチファイル的なもんでディレクトリ下の .cpp まとめてコンパイルかけるとか
そういう形ができそうな気がしてるんだけど・・・どう?
412デフォルトの名無しさん:2010/10/21(木) 19:00:25
>>408
ありがとうございます。
少し語弊があったのですが、中抜きというより、LabelやImageなどの外周に黒枠を付けた感じにしたいのですが可能でしょうか
よろしくお願いします。
413デフォルトの名無しさん:2010/10/21(木) 20:22:18
それはひょっとしなくてもスプラッシュではないのか?
414デフォルトの名無しさん:2010/10/22(金) 10:11:07
>412
少し語弊どころか何したいのか理解できん
415デフォルトの名無しさん:2010/10/22(金) 12:04:08
>>412 俺がエスパーしてみる。
コンポーネントに枠をつけたいのね?

TLabel に枠をつけたいなら
TStaticText で代用して BorderStyle = sbsSingle とか

その他のコンポーネントなら
TPanel に BorderStyle = bsSingle と BevelOuter = bvNone を指定して
このパネルん中に TImage なり何なりおいて Align = alClient

もっと具体的にやりたいことを説明してくれんと。
416デフォルトの名無しさん:2010/10/22(金) 12:18:11
枠だけのコンポーネントなら TShape てのもある
417デフォルトの名無しさん:2010/10/23(土) 18:12:15
FFTWをC++ Builder 2009で使いたいのですが、うまくいきません。

http://www.fftw.org/install/windows.html 内に書かれている
implib -a fftw3-3.lib libfftw3-3.dll
で作成したlibは、BCB6.0で動作確認できました。

同様の手順をBuilder2009のimplibで試したところ、
libは作成できますが、デバッグ時に

[ILINK32エラー]Error: 未解決の外部参照'_fftw_malloc'が …\DEBUG\FILE1.OBJから参照されました

となり実行できません。
どなたか解決のヒントをいただけないでしょうか、お願いします。

418デフォルトの名無しさん:2010/10/23(土) 18:14:20
FFTWをC++ Builder 2009で使いたいのですが、うまくいきません。

http://www.fftw.org/install/windows.html 内に書かれている
implib -a fftw3-3.lib libfftw3-3.dll
で作成したlibは、BCB6.0で動作確認できました。

同様の手順をBuilder2009のimplibで試したところ、
libは作成できますが、デバッグ時に

[ILINK32エラー]Error: 未解決の外部参照'_fftw_malloc'が …\DEBUG\FILE1.OBJから参照されました

となり実行できません。
どなたか解決のヒントをいただけないでしょうか、お願いします。

419デフォルトの名無しさん:2010/10/23(土) 20:57:33
フローティングウィンドウ
ツールパレット
DockPane
DockWindow
とかの組み方の載っているサイトおしえてください
420デフォルトの名無しさん:2010/10/25(月) 18:52:13
フォームのクラスcppを複数のcppファイルに分割できますか?
上下スクロールがめんどいので、同じクラスを分割入力
できないかと
421デフォルトの名無しさん:2010/10/25(月) 21:57:48
お勧めしないけど#includeでいいんじゃね?
422デフォルトの名無しさん:2010/10/25(月) 22:04:45
勝手に分けてプロジェクトに追加するだけでいいじゃん
423デフォルトの名無しさん:2010/10/25(月) 22:28:03
>>418
MinGWでコンパイルしてあるじゃんこれ
基本的にexeとdllは同じコンパイラで作成した方が何かといいよ
違うと変な問題で頭を悩ます事になる
424デフォルトの名無しさん:2010/10/25(月) 22:33:58
>>421>>422
ども。
425デフォルトの名無しさん:2010/10/26(火) 08:29:10
>>423
ありがとうございます。
元のソースからコンパイルして使うということでしょうか、
やってみます。
426デフォルトの名無しさん:2010/10/26(火) 22:22:14
About画面を作りたいのですが、
フォームの場所に関わらずクリックを検出するにはどのようにすればよいでしょうか
427デフォルトの名無しさん:2010/10/26(火) 22:38:21
OnClick
428デフォルトの名無しさん:2010/11/02(火) 15:52:07
C++ Builder XE Trial版は30日を過ぎると使えなくなりますか?
429デフォルトの名無しさん:2010/11/02(火) 21:56:50
はい
430デフォルトの名無しさん:2010/11/03(水) 15:36:38
>>429
ども
431デフォルトの名無しさん:2010/11/06(土) 21:12:34
C++ Builder XEで
マルチコアを使ったコンパイルどうやるんですか
432デフォルトの名無しさん:2010/11/16(火) 11:11:09
TEditで、任意の場所に文字列を加えるプログラムを作りたいのですが、
現在のカーソル位置を取得する関数はあるのでしょうか
433デフォルトの名無しさん:2010/11/16(火) 11:42:03
     *      *
  *     +  あります!
     n ∧_∧ n
 + (ヨ(* ´∀`)E)
      Y     Y    *
434デフォルトの名無しさん:2010/11/16(火) 16:46:21
勿論あるよ!!
435デフォルトの名無しさん:2010/11/18(木) 14:26:07
2010とXEだとあまり大きな変更はないんですかね?
XEにアップグレードするメリットってなんかありますか?
436デフォルトの名無しさん:2010/11/18(木) 14:39:47
クロスプラットフォーム
437デフォルトの名無しさん:2010/11/19(金) 10:54:09
64ビットアプリはまだ作れないんだよね?>XE
BCB関連では大きな変化がないよね

クロスプラットフォームとかどれくらい実用的なんだろ?
438デフォルトの名無しさん:2010/11/20(土) 21:14:44
BC++で作った*.libをVC++から使いたいのですが
どうしたらよいのでしょうか?
とりあえずソースは無いです
439デフォルトの名無しさん:2010/11/25(木) 14:10:37
質問です。コンボボックスにフォーカスがくると、そのコンボボックスがドロップダウン(?)して
選択できるようにするにはどうすればよいでしょうか?

よろしくおねがいいたします。
440デフォルトの名無しさん:2010/11/26(金) 12:22:32
>>439
どこがわからないのかな。
コンボボックスにフォーカスが来たことを検知する方法なら
OnEnterイベント。
コンボボックスのドロップダウンなら
ttp://www.gesource.jp/weblog/?p=391
441デフォルトの名無しさん:2010/11/27(土) 15:33:23
StringGridでスクロールバーをプログラムで制御したいのですが、やり方がわかりません。
どなたかよろしくお願いします。
442デフォルトの名無しさん:2010/11/27(土) 16:17:41
自己解決して目的は達成出来たのでいいですw
Rowプロパティを設定すればよかったみたいデス
スレ汚しサーセンwww
443デフォルトの名無しさん:2010/12/01(水) 12:50:20
超初心者ですみません。
カーネルは全てのSM、SPにほぼ同じ命令がされるんですよね?
GT200で、
__shared__ int i;
for(i=0; i<8; i++)
とした場合ループせずに終わったりはしませんか?
444デフォルトの名無しさん:2010/12/01(水) 14:28:22
そんなわけないですね。失礼しました。
445デフォルトの名無しさん:2010/12/01(水) 15:37:14
いえいえ^^
446デフォルトの名無しさん:2010/12/03(金) 23:17:48
SpeedButtonって、押下状態のまま非活性にするのに良い方法はないでしょうか?
Down=trueのSpeedButtonのEnabledをfalseにしたら、Downがtrueなのかfalseなのかわからない表示状態になってしまうので、、、

操作は不可、でも直前の操作で押下されていたかは視覚的に確認可能っていう形にしたいです。
どなたかご教授願います。
447デフォルトの名無しさん:2010/12/03(金) 23:33:43
Panelなどのコンテナ上に配置して、そのコンテナのEnabledをFalseにする。
解決方法としては微妙だが。
448446:2010/12/03(金) 23:59:27
おぉ、それでもいけるのですね! 
対応策の候補として覚えておきます。 
ありがとうございます。

ただ、ボタンの数が非常に多いので再配置が少し手間取りそうです、、、
現在SpeedButtonはOnClickで全て共通の関数を呼んでるので
そこに組み込むような形が理想なのですが、コードのみでの実現は難しいでしょうか?
449デフォルトの名無しさん:2010/12/04(土) 11:22:53
Panel置く
SpeedButtonを全部選択
Ctrl+x
Panelクリック
Ctrl+v
450デフォルトの名無しさん:2010/12/04(土) 13:13:20
2006以降のIDEなら構造ペイン(普通左上にあるやつ)でもできるな。
ボタンを選択→パネルにドロップ
451446:2010/12/05(日) 06:40:44
>>449-450
ありがとうございます!
おかげ様でさほど手間もかからず解決しました!
452デフォルトの名無しさん:2010/12/19(日) 13:30:14
質問です。
パスで指定したファイルをエクスプローラから開くにはどうすればよいでしょうか。
(画像を開く場合、標準のビューアが開くといった感じです)
453デフォルトの名無しさん:2010/12/19(日) 14:34:49
454デフォルトの名無しさん:2010/12/21(火) 16:33:32
MDIの子ウィンドウを非表示にするにはどうすればよいでしょうか
WinXP BCB6.0です
455デフォルトの名無しさん:2010/12/21(火) 21:31:29
>454
MDIの子ウィンドウは存在している限り表示されます。これはWindows側の制限によるものです。
456デフォルトの名無しさん:2010/12/22(水) 12:26:39
DrawGrid(StringGrid)のグリッドラインの色ってシルバー?固定ですが
このグリッドラインの色を変更する方法を教えてください
457デフォルトの名無しさん:2010/12/24(金) 00:03:34
>>455
ありがとうございます。
もう一つ質問お願いしたいのですが、開発環境によってはMDIの子非表示は可能でしょうか。
VB製のソフトで非表示が実現できているものがあったので気になりました
458455:2010/12/24(金) 00:35:07
>456
固定みたい。Grid.pasをプロジェクトと同じ場所において改変するか、有償のコンポーネントを
買ってくる。

>457
いやだからできないって。単に一旦破棄→非表示に見えるってだけじゃないの?Spy++か
WinSightなんかでMDIChildがhiddenになってるかを確認してみな。
459デフォルトの名無しさん:2010/12/25(土) 17:57:56
TDrawGridの項目を外へドラッグしたいのですが、
dmAutomaticを入れると項目の選択が行えなくなり、
OnMouseDownに記述すると今度はドラッグ自体発生しません。
どうすれば解決できますか?
460デフォルトの名無しさん:2010/12/30(木) 09:13:30
質問です。
TScrollBar以外のコントロールで、矢印ボタンが押されたことを
検知するにはどのようにすればよいでしょうか。
461デフォルトの名無しさん:2011/01/21(金) 16:13:22
初歩的な質問かもしれませんが、
7セグメントを表示するプログラムの書き方ですが、
どのような仕組みなのでしょうか?
ウェブページを検索しましたが、うまくみつかりません。
462デフォルトの名無しさん:2011/01/21(金) 18:46:00
ちょっと恥ずかしい質問なんだけど
これってマニュアルどこにあるの? DVDにはないみたいだけど
463デフォルトの名無しさん:2011/01/21(金) 18:56:19
>461
日本語で

>462
ドキュメントをインストールする
または
ttp://docwiki.embarcadero.com/RADStudio/ja/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
464デフォルトの名無しさん:2011/01/21(金) 19:13:50
461です。

winアプリのフォーム上に、数値をTimerで表示するのですが、
Labelを使うのではなく、7セグメントのデジタル表示にしたいのですが、
良い手はないでしょうか?
465デフォルトの名無しさん:2011/01/21(金) 19:23:47
画像を自前で用意すればいいよ
466デフォルトの名無しさん:2011/01/21(金) 19:38:42
めもりーくりーなーってソフトご存知でしょうか?

ああいう感じで表示したいと思いまして。
467デフォルトの名無しさん:2011/01/21(金) 21:48:33
画像を自前で用意すればいいよ
468455:2011/01/21(金) 21:51:07
>464
Windowsでは表示するためにはかならず"ウィンドウ"というものが必要で、Delphi/C++Builderでは
これらはクラス的にTWinControlというものから派生している必要がある。普通のフォームもTForm1 >
TForm > TCustomForm > ... > TWinControl > ,,, TObjectという継承関係にあるので当然フォームでも
よい。もちろんTWinControlから派生したクラスを作ってもいい。いずれにせよ描画をWIndowsが要求したときは
Paintという仮想メソッドが呼び出され、さらにそこから(存在すれば)OnPaintというイベントが呼び出される。
オーバライドしたPaintにしろ、OnPaintイベント内にしろ、プロパティCanvasが描画対象のウィンドウの
DC(Device Context)をラッピングしたものなので、(T)Canvasのメソッドを使ってお絵描きをすればいい。
そのお絵描きが値に応じた7SEGのLEDっぽく見えるようになっていればいいのでは。

あるいはそういうコンポーネントを探してきてインストールすればポトペタでコーディング不要だが。
469デフォルトの名無しさん:2011/01/22(土) 10:04:12
超初心者な質問なのですが、コンボボックスに入力する際に数字以外のキーを
押しても無効にしたいのですが(正確にはアルファベットと記号を除外したい)
OnKeyDownイベントのKey変数から取得する値(数値)がキーボードによって違います。
(ex:英字配列のaと109キーボードのaでは違うキーコードを返してくる)

if文でif(Key=='a')などとすれば良いのでしょうが、それだとキー配列文記述しないといけません。
出来ればif(Key >= 65 && Key <= 90)のような書き方をしたいのですが、良い方法ありませんでしょうか?
470455:2011/01/22(土) 11:22:44
そういうときはOnKeyPress
471デフォルトの名無しさん:2011/01/24(月) 10:59:24
VK_A以外の何が返ってくるてんだ?
472デフォルトの名無しさん:2011/01/24(月) 11:11:06
具体的にどんな数字が返ってきているのか気になるな
ただ大文字のA(0x41)が帰ってくるとかじゃないよな?
あと日本語入力になっているとか。
473 ◆.CzKQna1OU :2011/01/25(火) 17:06:25
test
474デフォルトの名無しさん:2011/01/25(火) 17:32:12
毎回起動時にアップデート画面が出るんですがこれ非表示にできます?
475デフォルトの名無しさん:2011/01/25(火) 20:04:26
オプションのどっかで変えられなかったっけ?
476デフォルトの名無しさん:2011/01/25(火) 20:06:57
>>475
↑設定するところが見つからなかったです
477デフォルトの名無しさん:2011/01/25(火) 20:08:23
ちなみにC++Builder2010です
478デフォルトの名無しさん:2011/01/25(火) 20:21:59
よくわからんがググったら
HKEY_CURRENT_USER\Software\CodeGear\BDS\7.0\AutoRun
HKEY_LOCAL_MACHINE\SOFTWARE\CodeGear\BDS\7.0\AutoRun
あたりをどうにかするといいらしい
479デフォルトの名無しさん:2011/01/26(水) 15:13:04
C++Builder2010で質問

APIのGetPrivateProfileIntみたいに引数でファイル名の部分にはどやってwchar_t型の文字列を与えればいいですか?


480デフォルトの名無しさん:2011/01/26(水) 15:39:34
APIを使わずにそれをwrapしてるクラスを使えばいいと思うよ
ファイル名は普通UnicodeStringに入れてると思うのでc_strで_TCHAR *になるけど
481デフォルトの名無しさん:2011/01/26(水) 16:42:35
いえところがファイル名をwchar_tにjぶち込んでるんですが・・
そもそもこれが間違いですかね?
482デフォルトの名無しさん:2011/01/26(水) 17:50:34
GetPrivateProfileIntW をつかえば、かならず wchar_t* として文字列へのポインタを
指定できるけど?

ファイル名をwchar_tにぶち込む
ってのの実際のコードでもだしてみそ。

483デフォルトの名無しさん:2011/01/26(水) 21:15:54
せっかくC++なんだから文字列はクラスのほうを使おうよ…
484デフォルトの名無しさん:2011/01/27(木) 10:20:26
>>479
_TCHAR のマッピングがcharになっているのではありませんか。
ttp://docwiki.embarcadero.com/RADStudio/ja/TCHAR_%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0
485デフォルトの名無しさん:2011/01/30(日) 03:54:42
>>479
もしかしてこういうこと?

   Func( "文字列" ); ←TCHAR=WCHARのときコンパイルに失敗
   Func( L"文字列" ); ←OK、でもTCHAR=CHARのときはエラー
   Func( TEXT("文字列") ); ←TCHARの状態に関係なくOK
486デフォルトの名無しさん:2011/01/30(日) 11:05:50
>>485
TCHAR=WCHARのときは、Unicode版のGetPrivateProfileIntW
TCHAR=CHARのときは、Ansi版のGetPrivateProfileIntA
が使用される。
487デフォルトの名無しさん:2011/02/02(水) 14:25:55
BCB6でジャンプリストやサムネイルタブ使おうとしてWin7用のヘッダ入れようとしたら茨の道過ぎる……(´・ω・`)
488デフォルトの名無しさん:2011/02/02(水) 15:49:00
C++Builder2010にVirtualTreeViewを入れたいのですけど、
何かよい方法ありませんか?
489デフォルトの名無しさん:2011/02/02(水) 22:28:00
490デフォルトの名無しさん:2011/02/03(木) 21:12:10
多人数接続のサーバー機能を実装したいのですが、
NMUDPとSocket(Winsock)を使った通信はそれぞれどういう違い・特徴があるのでしょうか?
491デフォルトの名無しさん:2011/02/03(木) 22:48:37
NM*を使うのはもうやめて…。TCPとUDPの違いはわかってる?
まぁIndyかSynapseかIP*Works!か、実質的な選択肢はそのくらいだ。
492デフォルトの名無しさん:2011/02/04(金) 11:05:37
bmpを配列で管理したいのですが、
配列にする方法はあるでしょうか?

// TBitmapオブジェクトを作成
Graphics::TBitmap *bmp = new Graphics::TBitmap [9];
bmp[4]->Assign(Image1->Picture);
Image2->Picture->Assign(bmp[4]);
delete bmp[];

493デフォルトの名無しさん:2011/02/04(金) 12:03:14
vector?
494デフォルトの名無しさん:2011/02/04(金) 12:49:19
std::vector<Graphics::TBitmap*>
解放を自動でやりたいなら派生クラス作って、デストラクタで各要素deleteすればいいんじゃ?
495デフォルトの名無しさん:2011/02/04(金) 20:54:55
//Unit1.h
vector<Graphics::TBitmap*> BM;

//Unit1.cpp
BM.reserve( 11 );
BM[0]->Assign(Image1->Picture);

コンパイルはできましたが、読み込み違反で怒られました。
文法が・・・
496デフォルトの名無しさん:2011/02/04(金) 21:36:18
reserveしただけで使えるわけないだろアホか
497デフォルトの名無しさん:2011/02/06(日) 23:38:36
>>494
boost::ptr_vector使ったらうまく行くだろ
498デフォルトの名無しさん:2011/02/07(月) 22:12:17
結局ImageList使いました。
499デフォルトの名無しさん:2011/02/08(火) 17:51:21
プログラム固有の設定などの保存って、どんなファイル形式にするのが普通なの?
推奨のもの用意されてるのかな、TIniFileなんて今更だよねぇ
500デフォルトの名無しさん:2011/02/08(火) 17:57:40
最近はxmlとかも増えたよね
501デフォルトの名無しさん:2011/02/08(火) 18:48:30
レジストリ
XML
INI
どれでもお好きなのを。INIは64KB制限と普通ANSIなのに注意。
レジストリはHKCU\Softwareの下、ファイルはCSIDL_APPDATAの下に配置。
502デフォルトの名無しさん:2011/02/08(火) 20:49:08
BCBだとiniはTMemIniFile使うから64KB制限関係なくね?

>>498
ImageListは全要素同サイズの縛りがあるぞ。たしか。
503デフォルトの名無しさん:2011/02/10(木) 07:26:56
>>498
同サイズでした。
またたのんどきます。
504デフォルトの名無しさん:2011/02/10(木) 16:32:44
>>503
"vector<Graphics::TBitmap*>" これをそのままGoogleに尋ねる
505デフォルトの名無しさん:2011/02/14(月) 12:37:18
既に起動されてるスクリーンセーバーを解除する方法を教えて
506デフォルトの名無しさん:2011/02/14(月) 12:55:57
mouse_eventでマウスを動かす
507デフォルトの名無しさん:2011/02/14(月) 13:06:40
>>506
いやそれを真っ先にやったんですがダメでした・・
ちなみにOSはWin7です
508デフォルトの名無しさん:2011/02/14(月) 17:09:37
509デフォルトの名無しさん:2011/02/14(月) 19:19:29
>>508
知らないならレスしないで下さい。ウザいだけですかラ
510デフォルトの名無しさん:2011/02/15(火) 17:08:40
イメージ名が.scrになってるプロセス殺せばいいじゃん
511デフォルトの名無しさん:2011/02/20(日) 10:04:10.46
BCB6,winXP(32bit)で作成したアプリをwindows7の32bit/64bitで
動作させることは可能でしょうか?
XPモードを使用した場合と使用しない場合も含めて。
アプリは簡単なもので、シリアル通信用win32APIを使用したものです。
ご存知な方よろしくお願いします。
512デフォルトの名無しさん:2011/02/20(日) 10:19:51.16
普通は動く。
513デフォルトの名無しさん:2011/02/21(月) 14:47:00.44
TStringGridでスクロールバーの幅を広くする方法を教えてくだあs
514デフォルトの名無しさん:2011/02/21(月) 16:45:21.35
Windowsの画面のデザインのスクロールバーの幅を変える
515デフォルトの名無しさん:2011/02/21(月) 17:17:43.45
TStringGridでスクロールバーの幅を広くする方法を教えてくだあs
516デフォルトの名無しさん:2011/02/22(火) 10:29:29.50
BCB2010を使ってます
エラーをthrowしたときに
catch節に来る前に外部例外でアプリが止まってしまうのですが
これを止めないでcatchするにはどうしたらいいでしょうか?
517デフォルトの名無しさん:2011/02/22(火) 15:07:23.99
デバッグオプションで例外をIDEが拾わないように設定する
518デフォルトの名無しさん:2011/02/23(水) 16:37:11.17
C++Builder2007ですが
MDI子フォームとかをを最大化したときになるアニメーションをOFFしたいのですが・・
どこ設定すればいいですか?
519デフォルトの名無しさん:2011/02/23(水) 18:14:07.18
もう1つ質問
TCanvasにTextOutで縦書きする方法を教えてください
520デフォルトの名無しさん:2011/02/23(水) 19:28:09.39
>518
Windowsの設定を変更する

>519
フォント名が@付のフォント("@MS P ゴシック"みたいなの)でOrientationを
2700(270.0deg)としてCreateFont(Indirect)し、戻値(Handle)を
Canvas.Font.Handleに代入する。あとはCanvas.TextOutするだけ。
521デフォルトの名無しさん:2011/02/23(水) 21:34:59.18
>>520
あー!
やっぱ最大化とかのアニメーションはソフト側で制御できないですか・・
縦書きありがとうございますやってみます
522デフォルトの名無しさん:2011/02/24(木) 10:18:01.50
MDI子フォームのタイトルバーを消す方法をおしえてください
523デフォルトの名無しさん:2011/02/24(木) 20:58:16.91
MDIももうやめて…Microsoftが非推奨にしてから5年以上経つのに…。

CreateParamsをoverrideしてParams.StyleからWS_CAPTIONを削除すればおkみたい
524デフォルトの名無しさん:2011/02/24(木) 21:44:24.22
>>523
ありがとうやってみる

っていうか、舞糞ソフトってMDI非推奨してたんだww
今度は何を推奨してるの?
525デフォルトの名無しさん:2011/02/25(金) 02:06:15.72
SDI
526デフォルトの名無しさん:2011/02/27(日) 18:30:36.78
C++Builder XEって64ビットアプリ作れる?
527デフォルトの名無しさん:2011/02/27(日) 18:45:33.93
まだ
来年夏まで待て
528デフォルトの名無しさん:2011/02/28(月) 11:08:27.08
('д`)えー
529デフォルトの名無しさん:2011/03/02(水) 15:14:55.38
MDIフォームに勝手に出るスクロールバーで今どれくらいの位置に
スクロールバーがいるか知る方法を教えてください

ちなみに、MDIフォームのVertScrollBar->Positionをみてみたら0でした
縦スクロールバーが出てるときです
530デフォルトの名無しさん:2011/03/02(水) 15:41:39.77
MDIクライアント領域はClientHandleなので、GetScrollInfoにこれを渡せばいいんじゃね?
531デフォルトの名無しさん:2011/03/02(水) 15:42:23.65
どっかのサイトにVertScrollBar-ScrollPosでおk
ってかいてたけどこれ嘘だ、この嘘つきがああああああ!!
つねに0じゃねーかYO
532デフォルトの名無しさん:2011/03/02(水) 15:49:59.86
::GetScrollInfo( ClientHandle, SB_VERT, &si );

コンパイル通るけど実行したらfalseが返る
ClientHandleにはとりあえず値入ってるっぽいけどなんで
533デフォルトの名無しさん:2011/03/02(水) 17:10:54.02
>531
MDIは作りが特殊なんよ

>532
あれ、駄目かね。GetLastErrorの値は?siは
si.cbSize = sizeof(si);
si.fMask = SIF_TRACKPOS;
とかちゃんと初期化した?
534デフォルトの名無しさん:2011/03/02(水) 17:13:19.11
>>533
MDIまた別でしたか、そういやサイトには普通のフォームのことかいてた
てか、すんません、初期化おもいっくそしてませんでしたやってみます
535デフォルトの名無しさん:2011/03/06(日) 17:13:55.30
":"と"〜"って文字を90度回転させてTCanvasに表示したいんですが
どうやったらできますか?
Win7 C++Builder2007
536デフォルトの名無しさん:2011/03/06(日) 17:28:59.36
縦書きなら、作業用のビットマップ作って"@MS Pゴシック"とかの縦書き用フォントで書いたのを90度回転させて表示させたいところに転送すればいいんじゃないの?
537デフォルトの名無しさん:2011/03/06(日) 17:48:10.43
90°じゃなく270°回転したフォントを作成してそのハンドルをCanvas.Font.Handleに代入して後はTextOut
538デフォルトの名無しさん:2011/03/06(日) 18:13:18.76
>>536-537
@フォントで:や〜は縦にならなかったです
それといい忘れてましたが@フォントを使わずにやりたいですが・・
とりあえずCreateFontで一応できてはいるんですが
もっと簡単な方法はないかなとおもいまして
539デフォルトの名無しさん:2011/03/08(火) 12:42:12.53
それより簡単な方法ははっきり言ってない。
540デフォルトの名無しさん:2011/03/08(火) 16:09:02.60
(´,_ゝ`)プッ
541デフォルトの名無しさん:2011/03/09(水) 13:31:59.59
TStringGridのSelectCellでInvalidateしてるんだけど(DrawCelで描画もしてる)
これセル変わる度にチラつくんだけど、なんとかならないですかね?
なぜSelectCellでInvalidateしてるのかというと
非スクロール領域に現在選択行の印をDrawCelで書いてるので
これしないと再描画されなくて・・
そこで指定セルのみを再描画する方法を教えてください
542デフォルトの名無しさん:2011/03/09(水) 14:02:59.73
OnSelectCellでInvalidateはしないのが正しい。
やりたいことは非スクロール領域のみ::InvalidateRect()で実現するのがいいかな。
543デフォルトの名無しさん:2011/03/09(水) 14:08:51.66
>>542
かなりマシになりました
544デフォルトの名無しさん:2011/03/09(水) 14:19:28.05
Builder6で開発したExeをWindows7上で起動しています。
起動時はフォームのスタイルがWindows7ベーシック(フォームの角が丸っこいデザイン)
で表示されますが、フォームをリサイズするとWindowsクラシックの表示
(フォームの角が四角デザイン)になります。
デスクトップのテーマに沿って正しくフォームを表示するには
どうすればよいでしょうか?

545デフォルトの名無しさん:2011/03/09(水) 14:25:11.39
manifest作って実行ファイルと同じディレクトリに置くか、リソースに埋め込む。
546デフォルトの名無しさん:2011/03/09(水) 14:32:21.75
リサイズした時にフォームにスクロールバー出てない?
547デフォルトの名無しさん:2011/03/09(水) 15:42:31.09
TRichEditで文字属性ごとファイルに保存する方法を教えてください
548デフォルトの名無しさん:2011/03/09(水) 15:48:48.45
普通にできた

お前等ってほんと役立たずだなw
549デフォルトの名無しさん:2011/03/09(水) 21:17:50.68
TRichEditで文字属性を変えた位置を次々検索する方法教えてエロい人
550デフォルトの名無しさん:2011/03/10(木) 15:29:05.54
お前の言うとおりなんで俺で人間のクズでしょうがない人間なんだろう
551デフォルトの名無しさん:2011/03/10(木) 15:37:08.75
屑はそんなこと考えても屑なんだよ
552デフォルトの名無しさん:2011/03/14(月) 14:30:44.58
TBitmapにでかいサイズ(50000x120)をしていしたら1つめは正常に作成されるけど
2つめを作ろうとしてWidthかHeightに値を入れた瞬間にビットマップが不正エラーって出るんだけど
どうしたら2つめもちゃんとできますか?
553デフォルトの名無しさん:2011/03/14(月) 16:07:26.64
相変わらずおせーなお前等w
もう解決しちまった
ほんと糞の役にもたたんカス共だなw
554デフォルトの名無しさん:2011/03/14(月) 19:39:28.47
>>553
チンカスヤッホー
555デフォルトの名無しさん:2011/03/14(月) 20:55:58.62
FastMM使え
556デフォルトの名無しさん:2011/03/15(火) 12:02:29.55
>>555
おお、何か軽く読んだかぎりよさげっぽいなこれ

つーか、何でこういうのをデフォを実装してないんだ?
馬鹿なの?死ぬの?
557555:2011/03/15(火) 14:17:33.76
2005だか2007からはFastMMの簡易版が標準だけど
558デフォルトの名無しさん:2011/03/15(火) 20:05:00.33
まじか2007使ってるんだがまあいいや
それより教えてくれ

TRichEditで文字属性を読み出してる時にたまにSelAttributesが嘘を返す時があるんだが
例えば、
"00あ"
こんなのがあったときに"00"を赤、"あ"を青とか別の色にする
んでSelAttributesで読むとたまに嘘返すたまに
どうやったらこのバグ回避できる?
559デフォルトの名無しさん:2011/03/16(水) 14:48:26.10
Unicode版delphiを使えば問題なし
560デフォルトの名無しさん:2011/03/16(水) 20:05:30.79
>>559
スレ違い帰れ!市ね!消えろ!
561デフォルトの名無しさん:2011/03/21(月) 14:06:50.38
TStringGridで入力時にセルを選択すると
セルのテキストが常に全選択された状態ですが
これをテキストを選択しないようにする方法を教えてください
C++Builder5
562デフォルトの名無しさん:2011/03/23(水) 14:53:35.40
2007でデバッガから実行してソフトを終了したらデバッガに戻るけど
そのときにいつもレイアウトのコンボボックスのとこにカーソルが行くバグなんとかならない?
デバッガに戻ったらソースのとこにカーソルがきてほしいんだけど
563デフォルトの名無しさん:2011/03/28(月) 13:42:50.34
BCB を使い始めて数日の初心者です。
教えてください。

BCB5 を使って古いプログラムの修正を行なっています。
プロジェクトに共通の #define の定義を行ないたいのですが、
BCB の場合はどのようにすればよいのでしょうか。
VC の場合はプロジェクトのプロパティに項目がありましたので、同様のことをしたいのです。

よろしくお願いします。
564デフォルトの名無しさん:2011/03/28(月) 15:17:54.98
プロジェクトオプションのディレクトリ/条件で
565563:2011/03/28(月) 16:49:43.16
ありがとうございました。
566デフォルトの名無しさん:2011/03/29(火) 10:42:31.22
DLLとLIBに関して教えて下さい。

使用するOSによってDLLが複数用意されています。
具体的には、

\x86\a.dll
\amd64\a.dll
\ia64\a.dll

です。
この時ビルド時に使用するLIBファイルは、
どのDLLから作成すれば良いのでしょうか?
a.dllはOSによって予めインストールされているので、
ビルド時にはどれが使用されるかはわかりません。

LIBファイルはDLL内の関数一覧なのでどのDLLから作成したLIBファイルでも同じなのかな?と思っていますが、
この理解で宜しいでしょうか?
567デフォルトの名無しさん:2011/03/29(火) 11:12:01.87
C++Builderは32bitアプリケーションしか作れないので、実行環境上がなんであれ
DLLはx86版が必要だし、インポートするべきDLLもx86のものしかありえない。
568566:2011/03/29(火) 11:49:48.51
>567

有り難うございます。
BCB2010なので64bitアプリが作成可能だと思っていました。
指摘されて確認したら仰る通りで・・・
64bit環境で動作する32bitアプリなんですね。
569566:2011/03/29(火) 14:44:29.56
どうも勘違いしている気がするので再度確認させてください。

Win7の64bit環境などで、\amd64\a.dll がインストールされてしまう場合、
C++Builderではこの\amd64\a.dll を操作するアプリは作成できないという事なんでしょうか?
570デフォルトの名無しさん:2011/03/29(火) 15:42:55.17
うむ
571デフォルトの名無しさん:2011/03/29(火) 17:03:02.96
システムDLLとアプリ同時配布以外のDLLはLoadLibraryで読み込んだ方が安全だよ。
64bit環境ないから検証できないけど、IA64やx64のDLLはLoadLibraryがエラー返すだろうし。
572デフォルトの名無しさん:2011/03/29(火) 20:52:40.08
初歩的な質問かもしれませんが、教えてください。

あるサンプルソースを見ていて
char* date = ・・・
という風に、
型* 変数名
という宣言の仕方を見たのですが
これはポインタの事でよろしいのでしょうか?
型 *変数名 との違いなどあるのでしょうか?
573555:2011/03/29(火) 21:10:16.01
>569
WOW環境下ではx86版が必要になる。
574デフォルトの名無しさん:2011/03/29(火) 21:43:02.93
>>572
ポインタです。
意味は同じです。
575デフォルトの名無しさん:2011/03/29(火) 22:07:20.75
>>574
ありがとうございました。
576デフォルトの名無しさん:2011/03/30(水) 12:33:24.43
ブレークポイントを設定してトレース実行(F7)をするとdstring.hとか_map.hとか内部に入りすぎるんだけどVCLの内部まで行かせない方法ってありますでしょうか?

Delphiだと{$D-}を指定すれば良いようですが、BCBには無いですかね?

デバッグ情報(Delphi) - RAD Studio
http://docwiki.embarcadero.com/RADStudio/ja/%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E6%83%85%E5%A0%B1%EF%BC%88Delphi%EF%BC%89
577デフォルトの名無しさん:2011/03/30(水) 13:27:42.76
ソースコードレベルでは、
#pragma option -v-
とか。
既存のライブラリのコメントレコードを削除するには、
(バックアップとってから)
tlib /0 mylib.lib
とか。
578デフォルトの名無しさん:2011/03/30(水) 14:24:19.58
>>577
レスありがとうございます。
ソースレベルでやりたいです。

BCB6なんですが、
#pragma option -v-
を指定すると
E2075 プラグマ指定の オプションの間違い:-v-
と出てコンパイル出来ませんでした。

-vxxx Turn on source debugging
の事ですよね?
579デフォルトの名無しさん:2011/03/30(水) 15:06:40.82
>577
残念。BCB6 ではできませんね。
580デフォルトの名無しさん:2011/03/30(水) 15:07:26.01
>578 >579
レス先間違えた。すまん。
581デフォルトの名無しさん:2011/03/30(水) 15:12:47.39
>576

オプション --> リンカで「デバッグライブラリを使う」をoffにすれば
できたかも。
間違っていたらすみません。
582デフォルトの名無しさん:2011/03/30(水) 16:35:07.54
wchar_tで半角と全角を区別する方法教えてください
583デフォルトの名無しさん:2011/03/30(水) 16:40:45.15
(c & ~0x7f) == 0
584デフォルトの名無しさん:2011/03/30(水) 16:43:06.84
半角カナはどうするの?
585デフォルトの名無しさん:2011/03/30(水) 16:55:46.93
>>581
やってみましたが_list.hとか入っちゃいました。

やっぱダメなんですかね
586デフォルトの名無しさん:2011/03/30(水) 17:11:21.68
>>583
そんなまぬけな回答は求めてはいません。
>>584もほざいてるけど半角カナはどうするの?
HighバイトをFFでみるんですか?w
馬鹿なの?死ぬの?
587デフォルトの名無しさん:2011/03/30(水) 17:59:40.01
チッ
588デフォルトの名無しさん:2011/03/30(水) 21:14:18.23
GetStringTypeEx使うか、駄目なら、http://unicode.org/reports/tr11/
から、半角の範囲を抜き出せ。
589デフォルトの名無しさん:2011/03/31(木) 12:52:58.26
TRichEditで文字属性に影響を与えずに文字をインサートする方法教えてくださ
590デフォルトの名無しさん:2011/03/31(木) 14:37:03.23
学校のPCでプログラミングやってて今年から自分のノートPCでもやりたいんだけど
visualstudioは並のスペックあれば動作するよね?ちょっと不安で
591デフォルトの名無しさん:2011/03/31(木) 14:50:41.24
>>590
馬鹿だろお前。
592デフォルトの名無しさん:2011/03/31(木) 14:53:33.73
visualstudioのスレではない
593デフォルトの名無しさん:2011/03/31(木) 16:41:13.54
>>590
とりあえず国語から勉強しろ
594デフォルトの名無しさん:2011/04/01(金) 21:12:21.74
>>593
595デフォルトの名無しさん:2011/04/02(土) 01:59:35.60
>>1を読む限り>>590より>>591-593の方が間違ってるように見える
596デフォルトの名無しさん:2011/04/02(土) 08:40:54.53
visualstudioの質問をする人がスレタイにC++Builderと入ってしまっているスレで聞く意図がわからない。
まんまVisual Studioと書かれたスレタイのほうを見に行かないか?
たまたまこのスレが上に上がってたのかな?
597デフォルトの名無しさん:2011/04/02(土) 20:26:12.65
主語を抜くからこんなことになる
子供じゃないんだから相手に伝わるように言わないと

インチキ民主の大本営発表じゃないんだから
598デフォルトの名無しさん:2011/04/02(土) 21:36:03.95
>>595がすごく馬鹿だって事だけはわかった。
スレタイが読めないんだねえ。
599デフォルトの名無しさん:2011/04/04(月) 17:24:05.89
いやまあ >>1 だけを読めば
・超低レベルの質問を受け付ける
・BCB 使いがやさしく答える

ってことだから、>>595 はある意味正しい。>>591-593 はやさしくないし。w
600デフォルトの名無しさん:2011/04/05(火) 14:40:47.84
>>1読む前にスレタイを読めない屑はレスするなっつー話だろJK

何でスレタイを見ずにいきなり>>1を見るんだよwwwwwwwww
601デフォルトの名無しさん:2011/04/05(火) 18:57:18.59
C++のオブジェクト指向って最初意味がわからなかったけど・・・
要はツール開発つうことか
602デフォルトの名無しさん:2011/04/06(水) 17:46:00.26
Builder2010なんだけどさ
TQuickRepって無くなった??
ツールパレットのどこにあるか発見できないんだけど
603デフォルトの名無しさん:2011/04/06(水) 22:44:23.78
QRはバンドルされなくなった。2007まではStd版を別途ダウンロードできるけど、2009以降は
製品版を購入する必要がある。
604デフォルトの名無しさん:2011/04/07(木) 09:58:47.72
('д`)えー
馬鹿高い値段で2010買ったのに更に金取るの??
ダメじゃんこれ・・・
605 忍法帖【Lv=35,xxxPT】 :2011/04/07(木) 15:35:05.22
かかってこい
606 忍法帖【Lv=35,xxxPT】 :2011/04/07(木) 15:38:35.43
aa
607 忍法帖【Lv=35,xxxPT】 :2011/04/07(木) 15:38:43.79
unko
608デフォルトの名無しさん:2011/04/07(木) 22:38:40.34
>>604
QRはもともとおまけでついてただけなんだが。ちゃんと調べて買わないのがいけないのでは?
609デフォルトの名無しさん:2011/04/08(金) 11:21:12.99
BCB6でSubVersionを使って複数人でプログラムを作成しています。

プロジェクトの「オプションソースの変更」がBCB6を起動する度に毎回書き換わってしまうのですが回避方法はないでしょうか?

具体的には「オプションソースの変更」で表示される"Project.xml"の中の
<LIBRARIES value="..."/>
<SPARELIBS value="..."/>
の内容が私のPCにインストールされているコンポーネントライブラリが毎回登録されてしまいます。

複数人でのコーディングなので他の人は使っていないコンポーネントライブラリが登録されてしまうのでSVNコミット前に毎回削除しています。

仕様なんでしょうか?
610デフォルトの名無しさん:2011/04/11(月) 12:02:53.66
早く教えて
611デフォルトの名無しさん:2011/04/11(月) 12:14:22.99
プロジェクトをコミットしなけりゃいいじゃん
612デフォルトの名無しさん:2011/04/12(火) 20:50:42.26
>609
仕様でしょうね。
613デフォルトの名無しさん:2011/04/12(火) 21:03:36.91
>>612

とりあえずは解決しました。

まあ、バグなんでしょうが、「C:\Program Files\Borland\CBuilder6\Bin\default.dpr」に書いてあることと比較して無い場合は追加するようです。

とりあえずdefault.dprから削除することで対応しました。

自分で始めからプロジェクトを作成するときは自分でチェックし直せば良いのでこれでOKとします。
614デフォルトの名無しさん:2011/04/13(水) 13:28:28.12
さっさとおしエロ!
615デフォルトの名無しさん:2011/04/13(水) 16:15:34.34
BCB2010を使用しています。

フォームに幾つかのTABとボタンを配置しただけなんですが、
↓こんなエラーが50個程出力されます。
一度各種ソースやライブラリを追加して、このエラーが出たので全てコメントアウトしている状態です。
なにがいけないのでしょうか?

[BCC32 エラー] delayimp.h(21): E2257 , が必要

delayimp.hはインクルードしていませんし、
エンカバデロのWEBに記載のある下記関数も使用していません。

* __pfnDliNotifyHook, __pfnDliFailureHook
* __FUnloadDelayLoadedDLL

プロジェクトはほぼ空なので作り直しても良いのですが、
再発すると嫌なので原因を調べたいです。
616デフォルトの名無しさん:2011/04/13(水) 17:28:02.24
プロジェクト作り直しても再発しました。
winusb.hとusb100.hをインクルードしたら現象が再発しました。
何かアドバイス頂けませんか?
617デフォルトの名無しさん:2011/04/13(水) 18:22:36.44
宣言部分,初期化部分,または引数部分の中にカンマが付けられていません。
この問題は,ファイルの始まりの部分かインクルードされているヘッダーの 1 つに
構文要素の欠落があるときに,しばしば起きます。
618デフォルトの名無しさん:2011/04/14(木) 00:03:55.40
619デフォルトの名無しさん:2011/04/14(木) 16:03:41.21
ん?
620デフォルトの名無しさん:2011/04/14(木) 18:30:19.27
なんだなんだ
621デフォルトの名無しさん:2011/04/17(日) 01:13:39.52
BCBDXLibを使用してみたいのですが、
DXライブラリと比較してどの程度有用なのでしょうか
622デフォルトの名無しさん:2011/04/20(水) 15:15:30.95
BuilderXEeでRS232Cを行う場合に使えるコンポーネントや方法を知っていたら教えてください。

今まではBuilder5を使っており、その時はTHmThreadedCommをつかっていたのですが、
BuilderXEではこのコンポーネントをインストールしようとするとエラーが出て使えません。

どなたかご教授ください。
623デフォルトの名無しさん:2011/04/20(水) 15:16:38.66
素直にAPI使うのはダメなのか?
624デフォルトの名無しさん:2011/04/20(水) 15:29:43.23
プログラムは専門外なのでできればAPIはさけたいんです・・・
625デフォルトの名無しさん:2011/04/20(水) 16:16:26.62
ソースがあるんだからどうにでもなるだろ。
626デフォルトの名無しさん:2011/04/21(木) 08:17:05.80
プログラムは専門外なのでどうにもならないです・・・
627デフォルトの名無しさん:2011/04/21(木) 08:57:31.98
おれが3万円で請け負ってやるよ
628デフォルトの名無しさん:2011/04/21(木) 09:21:42.14
>622
TurboPower Async Professional
ttp://sourceforge.net/projects/tpapro/
はどう?
629デフォルトの名無しさん:2011/04/25(月) 15:46:47.04
2010で2007でも同じだとおもうけど
フォームのタイトルとタスクバーに表示されるタイトルを別にするにはテーマをOFFするしかないですかね?
Builder5は別に設定できたからよかったんだけどー
2010とかはプロジェクトオプションでアプリケーションタイトルを設定しても無視されてるので
630デフォルトの名無しさん:2011/04/25(月) 16:03:10.66
所でなんで本が1冊も出てないの?
マイクロソフトの奴はいくらでも出てるのに
631デフォルトの名無しさん:2011/04/25(月) 16:46:16.05
フォームのCaptionとタスクバーのTitleを
別々に指定しても、同じになる???
そんなことはないと思うが。
フォームのCaptionを書き換えたら動的にタスクバーのTitleも変更される
あるいは
タスクバーのTitleを書き換えたら動的にフォームのCaptionも変更される
という現象を確認したの?
632デフォルトの名無しさん:2011/04/25(月) 16:52:09.57
>>631
2007か2010持ってます??
フォームってメインフォームね
メインフォームのタイトルとは別にプロジェクトオプションのタイトルに書いたものがあるんですが
起動するとメインフォームのタイトルになる
ちなみに2007以前はこんな風にならんけど、テーマをオフしたら以前みたいにできるのはわかってる。
633デフォルトの名無しさん:2011/04/25(月) 16:58:30.41
>>631
知らねーならレスしないで下さい。ウザいだけですから。
634デフォルトの名無しさん:2011/04/25(月) 18:09:14.00
そして誰もいなくなった。
635デフォルトの名無しさん:2011/04/25(月) 18:27:02.75
やっぱ知らなかったんだw
636デフォルトの名無しさん:2011/04/25(月) 19:54:41.30
>632
MainFormOnTaskBarの影響じゃね?

>630
マイクロソフトと違って持ち出しで本を出すのは難しいんじゃね?
637デフォルトの名無しさん:2011/04/26(火) 11:09:05.55
TreeViewでノードの入替方法を教えてくださ
638デフォルトの名無しさん:2011/04/26(火) 12:00:01.27
TTreeNode.MoveTo
639デフォルトの名無しさん:2011/04/26(火) 13:04:25.66
>>638
おっおっおっ
TTreeNodeにあったのかー!!!
TTreeNodesを必死に探してたありがとう
640デフォルトの名無しさん:2011/04/28(木) 11:28:42.18
TPopupMenuにSHGetFileInfoWで取得したイメージリストを割り付ける方法を教えてください
641デフォルトの名無しさん:2011/04/28(木) 13:36:57.49
http://codepad.org/E9vVzpOA
係数行列,定数ベクトルの入力をキーボードから行えるようにしたいんだが.
printf scanf を使うのはわかるんですけど使い方がいまいちわかりません
どなたかご教授お願いします.
642デフォルトの名無しさん:2011/04/28(木) 15:39:06.44
>>641
TextBox使わずにコンソールアプリケーションにするって事?
なら新規作成→その他でコンソールアプリケーションを選択すれば良い
643 忍法帖【Lv=21,xxxPT】 :2011/05/10(火) 13:48:16.71
C++Builderの64bit化はいつ頃の予定ですか?
644デフォルトの名無しさん:2011/05/10(火) 14:29:15.98
4年くらい先
645デフォルトの名無しさん:2011/05/10(火) 15:00:41.48
C++Builder XE
動作環境
MicrosoftR Windows 7(64 bit)
MicrosoftR Windows Vista? SP2(64 bit)
MicrosoftR Windows XP Professional(64 bit)
MicrosoftR Windows ServerR 2008(は64 bit)
646デフォルトの名無しさん:2011/05/10(火) 15:15:55.63
は64 bit
647デフォルトの名無しさん:2011/05/10(火) 16:00:27.81
645 は嘘つき
648デフォルトの名無しさん:2011/05/10(火) 16:09:22.36
動作環境だからあってるだろ

ただ64bitアプリは作れないけどな
649デフォルトの名無しさん:2011/05/10(火) 16:10:13.84
地球から木星までの平均距離は約483737473マイルである
この時の光が18600マイル進む事に注意して秒、分、時間に直して時間を求めよって問題が出た・・・
わかんねー
650デフォルトの名無しさん:2011/05/10(火) 16:12:02.62
誤爆すまん
651デフォルトの名無しさん:2011/05/10(火) 16:23:53.66
>>649
通報しました
652デフォルトの名無しさん:2011/05/10(火) 18:51:15.79
なんだ、C++Builder XEは64ビットで動くんだ。ならOKじゃん。

653デフォルトの名無しさん:2011/05/11(水) 09:47:27.73
逆に64bitOSで動かないソフトを教えてくれよ
654デフォルトの名無しさん:2011/05/11(水) 10:07:43.68
板違い
655デフォルトの名無しさん:2011/05/11(水) 11:14:46.26
古いC++Builderはインストール途中で失敗するぜ。
656デフォルトの名無しさん:2011/05/11(水) 11:20:37.74
そんな下位互換性の無い OS を使う方がわるい
657デフォルトの名無しさん:2011/05/11(水) 11:34:58.45
>逆に64bitOSで動かないソフトを教えてくれよ
>そんな下位互換性の無い OS を使う方がわるい


658デフォルトの名無しさん:2011/05/11(水) 17:40:54.43
TPopupMenuで質問
キーボードを監視して特定のキーが押されたらPopupMenuを出しているのですが
その時に、自分のソフトがアクティブならいいのですが
非アクティブの時にメニューを出すとメニューで何かを選択しないと
PopupMenuが消えなくなってしまいます。
これ何処かメニュー以外の違うとこをクリックした時にPopupMenuを消す方法を教えてください
659デフォルトの名無しさん:2011/05/12(木) 10:57:22.52
ちなみにPopup前にはちゃんとSetForegroundWindowを呼んでます
660デフォルトの名無しさん:2011/05/12(木) 16:17:17.39
AttachThreadInput
661デフォルトの名無しさん:2011/05/12(木) 16:31:28.81
いや、ウィンドウは非表示にしてるんですけど
これでアクティブにしちゃったらOKなんですかね?
662デフォルトの名無しさん:2011/05/12(木) 16:37:37.12
試しにやってみたらできたあああああああああああああああああああああ〜

>>660
マジですかありがとう!

663デフォルトの名無しさん:2011/05/13(金) 16:56:46.57
C++Builder1でTPopupMenuにImageListを設定する方法を教えてください
C++Builder1のTPopupMenuってImagesプロパティが無いだよね。
664デフォルトの名無しさん:2011/05/16(月) 15:37:31.69
早く教えてよエロい人
665デフォルトの名無しさん:2011/05/16(月) 21:23:58.74
そんな古い環境用意できないよ…
666デフォルトの名無しさん:2011/05/16(月) 22:22:26.15
そこをなんとか><
667デフォルトの名無しさん:2011/05/17(火) 00:11:05.14
俺がC++Builderを買い始めたのはC++Builder4からなんで
668デフォルトの名無しさん:2011/05/17(火) 00:38:09.16
Delphi 2.0相当か…多分方法はない、設定できない、が解答だと思う。
669デフォルトの名無しさん:2011/05/17(火) 11:17:05.54
そうですか・・・
TPopupMenuでできなくてもAPIを使ったらできますかね?
できるならやり方教えてくださ
670デフォルトの名無しさん:2011/05/17(火) 12:37:06.73
出来ないということはない。
自前で描画すればええやん。
ImageListの描画を自前でやれば表示できる。クソ面倒ではあるが。
671デフォルトの名無しさん:2011/05/17(火) 18:33:56.30
BCB2010を使用しています。
PageControlのMultiLineをtrueにした場合、
TABが何行表示されているかを調べるにはどうしたら良いのでしょうか?

HELPには「行数はタブコントロールのタブ数で決まります」と書かれていますが、
これは間違っている様です。
TABに長い文字列を表示するとTABの数が同じでも行数が変わります。

アドバイス頂けると助かります。
672デフォルトの名無しさん:2011/05/18(水) 14:05:47.67
C++Builder2010で質問ですが
InternetReadFileで取得したサイトがどうやらUTF-8みたいなのですが
これをシフトJISに変換する方法を教えてください
TStringListに入れてファイルに保存したら漢字が化けてたので
673デフォルトの名無しさん:2011/05/18(水) 14:30:26.37
TCM_GETROWCOUNTかTabCtrl_GetRowCountでは?
674デフォルトの名無しさん:2011/05/18(水) 14:38:40.09
ちがいますぜんぜんちがいますしんでくださいばか
675デフォルトの名無しさん:2011/05/20(金) 15:28:17.40
そして誰も居なくなった
676デフォルトの名無しさん:2011/05/30(月) 17:34:54.50
C++Builder5で質問
0除算エラーとか出たときにそれが何処で出たのかわかる方法を教えてください
677デフォルトの名無しさん:2011/05/30(月) 17:52:29.45
0助産とかしてる所
678デフォルトの名無しさん:2011/05/30(月) 19:04:22.84
>>677
知らないならレスしないで下さい。うざいだけです
679デフォルトの名無しさん:2011/05/30(月) 19:18:49.88
デバッグモードでひっかからんの?
680デフォルトの名無しさん:2011/05/30(月) 22:07:35.27
デバッガオプションのOSによる例外で処理をデバッガが受け取る、再実行時は原因の例外を再送出、
としてデバッガで例外を引っ掛ける
681デフォルトの名無しさん:2011/05/31(火) 10:15:45.20
やってみますありがとう
682デフォルトの名無しさん:2011/06/01(水) 02:55:45.65
またアンチが湧いてるな…
自分用のメモとして、残しておく。

>>671
TabControlのタブの列数を取得する
http://www.wwlnk.com/boheme/delphi/tips/tec1690.htm

>>673 の言うとおり…
Delphiでの記述だが、分かるっしょ?

それにしても。ID表示が無くなっただけで、荒らしは増えるわ、礼儀も無しだわ…。
683デフォルトの名無しさん:2011/06/01(水) 05:29:35.92
>ID表示が無くなっただけで、
過去に IDを表示していた時期ってあったっけ?
どこかと間違えていないか?
684デフォルトの名無しさん:2011/06/02(木) 15:04:13.54
C++Builder2007です。
データ入力後、計算結果を印刷するプログラムを考えています。
A4サイズに表・テキスト・図(線分と文字の組み合わせ)
を印刷するには、一般に(サンデープログラマとして)
どういう方法をとるのでしょうか?
ぐぐってもピンと来なくて。

imageに無理やり書いてもと。
なお、印刷枚数は複数を予定しています。
685デフォルトの名無しさん:2011/06/02(木) 17:50:09.11
>>684
ググってねーだろ?
つか、TPrinter と、TCanvas をヘルプで見る事もせんのかね、コイツは。
くだすれだからって、酷くねーか?入門書にも載ってるだろ?

後はググれば、プリンター解像度の取得やら、設定について出てるとこも
結構有るし、コンポも有る。

まさか、表の書き方も解らない、面倒なんで楽したい?
なら、プログラミングなんてやめて、Officeでも使え。
686デフォルトの名無しさん:2011/06/02(木) 17:52:40.33
>>685
なんかあったのか?
会社でイジメラレタ?
687デフォルトの名無しさん:2011/06/02(木) 17:57:41.53
>>685
知らないならレスしないで下さい。ウザイだけです。
688685:2011/06/02(木) 18:10:01.81
>>686
>>687
くだらんレスしてんなら、答えてやれば?
いくらなんでも、あれだけの情報が有れば、普通組めるだろ?

ってかさ。入門書とヘルプ見れば最低限の事は出来るだろ?
その上で、どうしたいとか改善したいってのなら、分からんでも無いが、
何でもいいから即、誰かに聞けばなんとかなるだろってのが、ちとな。
689デフォルトの名無しさん:2011/06/02(木) 18:15:02.46
>>688
知らないならレスしないで下さい。ウザイだけです。
690デフォルトの名無しさん:2011/06/02(木) 19:52:58.24
Developer Studio 2006 の無料版でプログラミングしています
Pos関数で第一引数(検索文字)を「|」にすると、なぜか全角カタカナの「ポ」が検出されてしまいます。
どうにか回避できないでしょうか?できれば検索文字は変えたくありません。
691886:2011/06/02(木) 22:01:21.07
>>690
>Developer Studio 2006 の無料版
悪いが、そんなものは存在しない。割れはしね。
692デフォルトの名無しさん:2011/06/02(木) 22:32:51.06
>>690
>できれば検索文字は変えたくありません。

面白い事言うな〜。それを本末転倒と言う。
693690:2011/06/02(木) 22:51:03.63
turbo explorer とかいう無料のやつです。失礼しました。
Pos関数で区切り文字を検出してるのです
a|b|c
694デフォルトの名無しさん:2011/06/03(金) 00:04:11.93
AnsiPos
695690:2011/06/03(金) 20:41:19.30
>>694
できました!ありがとうございます
こういう情報がどっかにまとまってるといいですね
696デフォルトの名無しさん:2011/06/04(土) 03:23:50.16
>>695
つHelp

と言いたい所だが、XE日本語オンラインヘルプなんか、Wikiになってて、こそり
参加者募集してるし。

基礎とかそうそう変わって無いんで、古いHelpの良いとこ移植すりゃい〜のに。
Turbo には既に残って無かったかな?
697デフォルトの名無しさん:2011/06/04(土) 05:41:01.16
>こそり参加者募集

ただし英語でね。
日本語 Wiki ページは編集不可能。日本語でコメント書かれても英語に翻訳する金が無いからだそうだ。
698デフォルトの名無しさん:2011/06/04(土) 13:17:37.81
>>697
なら日本語ページにその旨書かなきゃい〜のに。
てか、英語でも、そんなにHELP充実して無いんかいっ!
いや、そもそも日本法人は何の為に有るんだろ?

いっその事、(日本語という意味で)言語別にユーザーがWikiを
立ち上げた方が早いんじゃね?
699デフォルトの名無しさん:2011/06/04(土) 15:43:47.62
>いや、そもそも日本法人は何の為に有るんだろ?
日本の会社や組織/団体がソフトを購入するときに必要。
見積書と領収書を出さなきゃいけないでしょ。

ここら辺が企業向けダウンロード販売を日本で展開する時に問題になる。
会社持ちのクレジットカードなんて、日本の会社では期待できないからねぇ
700デフォルトの名無しさん:2011/06/04(土) 16:37:57.61
>>699
それだけなら、販売代理と一緒じゃん。さいてー
701デフォルトの名無しさん:2011/06/04(土) 16:59:45.36
>販売代理と一緒
そうだよ。代理店業務と外人接待。
702デフォルトの名無しさん:2011/06/07(火) 12:40:24.07
C++Builder2010でUTF8をシフトJISに変換する方法を教えてください
703デフォルトの名無しさん:2011/06/07(火) 12:45:58.33
AnsiStringのコンストラクタに渡すだけじゃないの
704デフォルトの名無しさん:2011/06/07(火) 12:52:01.79
WindowsのAPIでいいなら
MultiByteToWideChar(CP_UTF8, ...
でワイド文字にして
WideCharToMultiByte(932, ...
でシフトJISにするとか
705デフォルトの名無しさん:2011/06/07(火) 12:55:26.50
>>703
マジですか?
やってみますよ

>>704
今はそれでやってるのですが
2010ならもっと楽な方法があるのかなとおもって聞いてみました
706デフォルトの名無しさん:2011/06/07(火) 13:39:58.99
AnsiStringの変数にぶち込んだものを
TStringListのTextにぶち込んでSaveToFileしてテキストファイルで保存したものを
みてみたんですがシフトJISになってませんでした
707デフォルトの名無しさん:2011/06/07(火) 13:53:01.51
ってうか普通にUtf8ToAnsiってのがあったし
これでさっくりとできましたよほんと
708デフォルトの名無しさん:2011/06/07(火) 14:44:41.28
Utf8関連で。
質問じゃ無いけど、CB2010のIndy IdHTTP って UTF-8エンコードされたResponseヘッダを
正常に読み込めないね。

正確に言うと、Content-Disposition で返るファイル名に漢字で長いのが入ると、
エンコードの狂った文字は入るは、ヘッダはそこでブチ切れるは、とにかく酷い。
ヘッダのエンコードを変えても、どうやら、受け取ったCharsetで自前で直して
しまうらしく、効果無し。

直す方法を教えて欲しいが、なんとなく、UTF-8に正常に対応してない悪寒。
709デフォルトの名無しさん:2011/06/07(火) 15:15:39.65
今更そんなこというなよ
710デフォルトの名無しさん:2011/06/07(火) 23:03:16.70
一旦ストリームに取り込んで処理すればいいんでは
711デフォルトの名無しさん:2011/06/08(水) 00:10:32.40
Indyに限らず、バグだらけすぎてそんな俺は結局WinINetとか使う。
というより、パフォーマンス要求しなきゃおとなしく.NETがお勧め。
信頼度がMSとエンバカじゃ違い過ぎる。
712デフォルトの名無しさん:2011/06/08(水) 03:36:40.23
Indy はオープンソースで品質保証も無いしねぇ
713デフォルトの名無しさん:2011/06/08(水) 15:01:02.06
TScrollBoxでスクロールバーが表示されてるかどうかを調べる方法を教えてください
714708:2011/06/08(水) 16:11:11.08
まず、Helpから、Indyは 10.1.1 でした。

>>710
回答、ありがとうございます。
ヘッダからストリームに取込む方法は、IdHTTPでは分からなかったので、
結局、IdTCPでHTTPプロトコルを新たに書き起こしました(*Д* グハッ)

で、ググった数が多くて見落としてましたが、Content-Disposition というか、
HTTPヘッダ内にASCIIコード以外を使うのは、RFCでは許して無いそうで。

又、ブラウザと、IdTCPで受信したヘッダでの文字コードが違う事から、
漢字コードが送られるのは、ブラウザ向け仕様みたいですね。

で、IdHTTPでこれに対応するには、改造すれば良いんですが、ちょっと厄介で。
CB2010は文字列がUnicode標準なのでコンパイルし直すと、あちこちの文字コード
変換で頭爆発します・・・。
(Unicode対応コンパイラだと、代入での暗黙の変換も起きますので)

そういう訳で、HTTPクラスを書き起こし。

>>711
>>712
そういう訳でバグでは無く、RFCの仕様のためでした。

このバージョン以降、バグはかなり少なくなっており(コンパイルし直した環境で
文字コードの問題が起きるとこが有りますが)、後はドキュメントと、Helpの充実を
願うばかり。

特に、IOHandler については、ドキュメントが無いに等しい・・・。
715デフォルトの名無しさん:2011/06/09(木) 00:02:35.71
>>712
別にクローズドソースが品質保証してるわけでもないし。
さらに言えば、マイクロソフトだって、保証はしてない。
716デフォルトの名無しさん:2011/06/09(木) 02:24:11.25
>>714
RFC2231でエンコードされてるとか?
まず、ブラウザで受信した場合とIdHttpの場合のヘッダのネットワークキャプチャ見ねえ
となんともいえんな。
717デフォルトの名無しさん:2011/06/09(木) 12:10:11.94
APIでOpenPictureDialogみたいに画像をプレビューできるのあったら教えてください
718デフォルトの名無しさん:2011/06/09(木) 14:48:51.68
ありません
719デフォルトの名無しさん:2011/06/09(木) 15:08:38.79
TPNGObjectでLoadFromFileしてSaveToFileすると
ビットの深さがオリジナルより小さくなって保存されてしまうのですが
これオリジナルと同じにする方法おしてくださ
720デフォルトの名無しさん:2011/06/09(木) 16:17:55.67
ごめんわかった途中bmp経由してたから24ビットにアレされた
てか再度TPNGObjectで
PNGObject *png = new TPNGObject( );
って作成したpngのサイズを変更したいんですが
どやってサイズ指定できますか?
721708:2011/06/09(木) 20:15:13.87
>>716
レスどもです。
必要事項は自前でこなせてますので、蛇足的な書込みになりますが、結果を
書込んでおきます。(何方かの役に立つかもしれませんから)

IdTCPでストリーム受信したところ(TCPでは文字コード問題は無い筈ですよね?)
サーバーは Apache で、ブラウザ向けリクエスト
"User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)"
を送ると、"Content-Disposition" に含まれる 日本語 filename は
ダブルクォート「"」で囲まれた上で、Shift-JISになり、"User-Agent"無し
では、同様に「"」で囲まれた上で UTF-8 でした。

勿論、この動作はサーバーの設定次第だと思いますので、全てが必ずこうだとは
言えません。ただ、たまたま今回相手にするサーバーがこうだったというだけです。

RFCに書かれていたファイルネームについては、「"」を伴わない形でのASCIIコード
のみだった気がしますが(未確認)。

多分 Apache では、メーラー等で用いられてるヘッダーのように、拡大解釈されて
RFC2231 を用いずに「"」で括って、そのまま漢字コードを使用してるんじゃない
でしょうか?

それとも、改定案が出されてて、それに IdHTTPが対応してないとか。

ちなみに、IdHTTPで取得されたfilenameは、どう変換したのかも分からないコードに
なっており、途中の漢字に含まれるコードで全ヘッダ終了とみなされて、それ以降の
ヘッダは無いものとして処理されてしまいます。

ソースを追えば良いんですが・・・面倒なのでヤメマシタ。
IdTCP->IOHandler->ReadLn で読んだ時点で化けてるので、その辺なんですが、TCPでも、
HTTPでも同じクラス、かつ、多言語でとなると、やはりRFC完全準拠が筋だと痛感。
722708:2011/06/09(木) 21:23:57.92
>>721
IdTCPでの結果だけでは無責任ですので、再度、WIRESHARK にて確認しました。
やはり、Shift-JISとUTF-8でした。

デフォルト設定だと、HTTPなのにポート違うとHexで確認なんで、見難い・・・。
723デフォルトの名無しさん:2011/06/09(木) 22:32:23.71
>>720
使ってるバージョン位、書きぃな。んで、Helpは見とんのかいな。

新規にサイズ0で作成してしまうと、サイズ変更は無理っぽ。
作成する際に指定しましょ。
したら、後は変更可。"サイズ変更"をまんま英語にしたメソが有るぉ。

何故、0で作成すると変更不可かは、ColorTypeとか、BitDepthとか
色々あんでしょ?
724デフォルトの名無しさん:2011/06/10(金) 10:12:33.64
>>723
0で作成とはコンストラクタのサイズを与えるんですか?
TPNGObject *png = new TPNGObject(10,10 );
みたいに?
まあこれはエラーになったんですが、どうやって指定しますか?
元サイトがみれないので
725デフォルトの名無しさん:2011/06/10(金) 10:33:07.39
あ、わかったこれですね
TPngImage(unsigned ColorType, unsigned Bitdepth, int cx, int cy);
これBuilder2010のTPngImageだけどコンストラクタは同じかな
ちなみにこれのColorTypeの定数がわからない・・・
726723:2011/06/10(金) 10:52:19.17
暇なんで、付き合ってあげよう。(たまにはエラソ〜に

>>724
もしも〜し?人の話聞いてます?・・・いや、もうね。
使ってるコンパイラバージョン位書いたらどう?それによってアドバイス違うから。

そもそも
>元サイト
って何?
Help使わない人なの?それとも、RAD環境じゃないフリーコンパイラでガリガリなの?
古い環境?最近はTPNGImageは標準搭載なんよ?

ヘッダファイルをColorTypeやBitDepthで検索すれば分かると思うんだけど。

そもそも、バージョンが分からん事には。
もしかすると初期のTPNGImageにはそんなコンストラクタ、無いかもしれんし。
727723:2011/06/10(金) 11:01:24.60
>>726
自レス・・・テンポ遅れハズィ
>>725
ヘッダをCOLOR_ で検索すると分かる。このヘッダ、ちょっと書き方が「らしく」
ないね。そこだけは認めよう。
728723:2011/06/10(金) 11:24:58.13
で、ここまで書いておいてなんなんだけど、
ttp://docwiki.embarcadero.com/VCL/en/Pngimage.TPNGObject
見ると、コンパイラの警告でも出るように、非推奨になってるね。
将来的に廃止かも。多分 >>725 は裏で使いたいって事なんだろけど。
729デフォルトの名無しさん:2011/06/10(金) 11:26:28.23
>>726
TPNGObjectって書いてんだろ馬鹿はレスするなって
それにもう解決したからいい
何でレスも読めないのに知ったかしてレスするんだろうか
730デフォルトの名無しさん:2011/06/10(金) 12:54:08.41
>>729
カワイソス
頭おかし過ぎてワロタ
731デフォルトの名無しさん:2011/06/10(金) 13:09:20.40
>>729
逆ギレかよ。
>>726 (>>723) もとんだトバッチリだな。何一つ間違った事言ってないのに。
ヘッダも読めねークセに、こういう奴って居るんだなー。クワバラ-
相手にしなくてよかった。
732デフォルトの名無しさん:2011/06/10(金) 13:59:16.74
>>729
論拠は >>728 じゃねーの?RAD2010でも警告だしヘッダもそう(読めないんだっけ)
勘違いヤロ-なのはおまいだろ?
733デフォルトの名無しさん:2011/06/10(金) 14:55:06.61
>>729
なんかバカが馬鹿よばわりしてるし
734デフォルトの名無しさん:2011/06/10(金) 16:58:47.17
必死すぎワロタ
735デフォルトの名無しさん:2011/06/10(金) 17:49:54.00
>>729
クズが吠えてて笑える
736デフォルトの名無しさん:2011/06/11(土) 22:57:59.23
ppp
737デフォルトの名無しさん:2011/06/14(火) 15:48:29.17
Builder2010なんだけどTPageControlの背景って前はclBtnFaceだったのにWhiteになってるんだけど
これ背景色変える事できる?OS設定しか無理?
何でこれ背景白にしちゃったんだろ?激しく見づらいんだけど
しかもclWindowと色が被ってるから境界線が判りづらいし
738デフォルトの名無しさん:2011/06/14(火) 18:54:35.33
>>737
TPageControl継承すれば。
739デフォルトの名無しさん:2011/06/14(火) 22:29:43.48
めんどくせーからちゃんと教えて下さい
740デフォルトの名無しさん:2011/06/24(金) 11:53:19.65
UnicodeStringをchar*に変換するにはどうしたらいいですかね?
741デフォルトの名無しさん:2011/06/24(金) 12:03:14.22
wcstombs_s使おうと思ったけどなんかこれ無いってエラーが出る
wcstombsならコンパイルは通るんだけど何故か実行時にエラーが出る。
setlocale( LC_CTYPE, "jpn" );これしてもエラーなんだけどなんでだろう?
742デフォルトの名無しさん:2011/06/24(金) 12:52:35.16
char *ってのはANSI文字列のポインタ?ならAnsiStringに代入してc_strでいいんじゃないか?
743デフォルトの名無しさん:2011/06/24(金) 12:56:32.62
あ、ごめん言い忘れてたけどBuilder2010なのでAnsiStringってワイド文字なんですよねこれ
744デフォルトの名無しさん:2011/06/24(金) 14:05:02.85
えっ?
745デフォルトの名無しさん:2011/06/30(木) 13:34:35.00
質問です:タスクバーに表示されているアイコンにマウスを近づけたときに発生するイベントを取ったり出来ますか?
746デフォルトの名無しさん:2011/06/30(木) 17:11:22.25
出来ます。
747デフォルトの名無しさん:2011/06/30(木) 17:31:38.46
タスクバーって、アプリの中の人じゃなくてWindowsの持ち物なんだけど、どーやったら取れるわけ?
748デフォルトの名無しさん:2011/06/30(木) 17:42:30.35
初心者なら、取り合えず下記でも読んどけ
http://www.kab-studio.biz/Programing/Codian/DLL_Hook_SClass/06.html
749デフォルトの名無しさん:2011/06/30(木) 18:14:08.79
グロバールフックってシステム全体を重くするから禁じ手でしょ、常考。。。
750デフォルトの名無しさん:2011/07/03(日) 11:10:55.56
昨日ビルダ購入しました。早速質問です。

StringGridの各セルをテキストとしてファイル出力ってどうやるんでしょうか?
SaveToFileのようなものが用意されていますか?
751デフォルトの名無しさん:2011/07/03(日) 12:25:50.84
 発 者 同         . 。_   ____           争
 生 同 .じ     .    /´ |  (ゝ___)          い
 .し 士 .レ      .__/'r-┴<ゝi,,ノ   ro、      は、
 .な で .ベ      ∠ゝ (ゝ.//`   ./`|  }⌒j     
 .い し .ル        } ⌒ /`ヽ、_∠l,ノ ・ヽ´
 .! ! か の       /  ´..:.} >、、___,  .r、 ソ、`\
             /   ..:.:.}   /   |∨ ` ̄
            /   ..:.:./    |   丶
           / _、 ..:.:.:.{    .{.:.:.   \
          {   ..:Y  .ゝ、   {.:.:.:.:.    ヽ
          |、  ..:/ 丿 .:〉   >.- ⌒  .  ヽ
          / {. ..:./ ソ ..:./  .(    ..:.:.:`  ..:}
         ./..:.:}.:.:./ ヘ、 ..:./   .\ ..:.:r_,ノ、.:.:}
        ./..:.:/|.:/   {.:./     X.:.:}.}   X X
        /..:.:/ .}.:|    }:/       .Y丶ヽ  Y.:Y
  . __/.:/ { }  《.〈、     _,,__>.:》丶   Y.:\
  /.:.:.:.:.::/   !.:.:ゝ  ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ   \.: ̄>
752デフォルトの名無しさん:2011/07/03(日) 15:12:02.10
>>750
TStringGridIOというのを見つけますた。

StringGridにてCellの行数をボタンを押すごとに増やしていく
プログラムを書いてみたのですが、1回目のクリックで列側
(2列目)に作られてしまうのですが、k行1列のグリッド
を適切に作る方法をご存じの方いますか?

下記のようなソースを書いてます。
StringGrid1->Cells[k][0] = IntToStr(k);
StringGrid1->RowCount = k++;
StringGrid1->Refresh();
753デフォルトの名無しさん:2011/07/03(日) 17:55:04.22
関数ポインタの作り方をご教示ください。
下の例では[C++ Error] Unit1.cpp(19): E2235 Member function must be called or its address taken.
のコンパイルエラーが出ます。
ヘッダーファイルには void Func();と void Func2();を書いています

//----------------------------------------
void TCTestForm::Func()
{
void (TCTestForm::*fpFunc1)() = Func2; <---Line 19
(this->*fpFunc1)();
}
//--------------------------------------------
void TCTestForm::Func2()
{
MessageBox(Handle,"Func2","Func2",MB_OK);
}
754デフォルトの名無しさん:2011/07/03(日) 18:04:10.38
メンバー関数を式で使うときは,呼び出すか,& 演算子を用いてアドレスをとらなければなりません。
メンバー関数が不正な文脈で使われると,このエラーになります。
次に例を示します。

class A

{
typedef int (A::* infptr)(void);
public;
A();
int myex (void);
int three;
} a;
A::A()
{
infptr one = myex; // 正しくない - myex を呼び出すかアドレスを取る
infptr two = &A::myex; // 正しい
three = (a.*one)() + (a.*two)();
}
755デフォルトの名無しさん:2011/07/04(月) 07:20:09.52
また質問させてください。

スターターを購入したのですが、
TextViewのようなコンポーネント、
出来ればフリーのものをご存じないでしょうか?

よろしくお願いします。
756デフォルトの名無しさん:2011/07/04(月) 11:16:01.23
うまくいきました!!!

>>754さん、ありがとう。感謝、感謝。
757デフォルトの名無しさん:2011/07/05(火) 14:45:28.83
ファイル選択とかのコモンダイアログをStayOnTopできまつか?
758デフォルトの名無しさん:2011/07/05(火) 16:03:39.13
出来る
759デフォルトの名無しさん:2011/07/05(火) 19:04:58.86
やり方教えて下さいorz
760デフォルトの名無しさん:2011/07/05(火) 21:02:38.94
実際にやってみたわけじゃないけど。OnShowイベントとOnCloseイベントでSetWindowPosを呼んで
HWND_TOPMOSTとHWND_NOTOPMOSTをセットする。対象HWNDはHandle。
761デフォルトの名無しさん:2011/07/07(木) 15:57:07.59
TOpenDialog
のOnShowでTOpenDialog::Handleを使ってWin32APIでTOPMOSTに変更してみましたが、
ダメっぽいですorz
762デフォルトの名無しさん:2011/07/07(木) 17:21:28.35
コモンダイアログの(プロパティにない)表示をかえるのと同じで、Hookしないとだめなんじゃないかな?

ttp://wisdom.sakura.ne.jp/system/winapi/common/common2.html
ttp://www.kanazawa-net.ne.jp/~pmansato/CommonDialog.htm
763デフォルトの名無しさん:2011/07/08(金) 09:19:33.54
あ、コモンダイアログのフックってダイアログ指定できるんだ。
これってローカルフックだおね。
一旦やってみるかなぁ。
コモンダイアログが他のウィンドウに潜ったら、
自分で浮かびあがるような処理。
764デフォルトの名無しさん:2011/07/08(金) 11:24:12.75
>>763
人呼んでお邪魔虫ダイアログ
765デフォルトの名無しさん:2011/07/08(金) 15:21:38.22
TMyComboBox = class(TComboBox)
TComboBox = class(TMyComboBox)

みたいな感じで、継承してちょっとだけ弄ってそれを標準のコンポみたいに使ってる
Delphiのソースがあったのだけど、これってC++Builderでも可能?
区別が曖昧って怒られちゃう
766デフォルトの名無しさん:2011/07/08(金) 15:35:58.43
可能
767デフォルトの名無しさん:2011/07/08(金) 15:57:08.17
C++Builder 2009ってVS用のライブラリや
.NET Frameworkは問題無く使えますか?
768デフォルトの名無しさん:2011/07/08(金) 16:52:59.73
できないのか、残念
769デフォルトの名無しさん:2011/07/11(月) 15:49:37.12
HDDのフォーマット種別(NTFS/FAT32・・・)を調べる方法を教えて下さい。
Win7+BCB2010です。

DriveInfoというのを見つけたのですが使えなさそうです。
770デフォルトの名無しさん:2011/07/11(月) 16:04:57.35
771769:2011/07/11(月) 17:34:16.65
>>770

出来ました!!有り難うございます。
772デフォルトの名無しさん:2011/07/22(金) 17:30:25.07
「asin: DOMAIN error」っていうのをトラップしたいのですが、
catch (Exception &exception)では、catchできないのですか???
773デフォルトの名無しさん:2011/07/22(金) 21:29:11.88
Winキー+Dで全部のウィンドウ非表示(デスクトップ表示)ですが
この操作が行われた時ってトップレベルウィンドウに何かメッセージ
が送られているんでしょうか?
774デフォルトの名無しさん:2011/07/22(金) 22:46:03.43
>>772
int _matherr(struct _exception *e) {
throw Exception(AnsiString(e->name) + " でエラーだお");
}

とか _matherr を自分で定義するべし
775デフォルトの名無しさん:2011/07/25(月) 00:51:46.93
ttp://www2.ttcn.ne.jp/tkky/Application/Launcher/launcher1.htm
全くの初心者で↑のサイトを見ながらランチャを作ろうとしているのですが、

[BCC32 エラー] Unit1.cpp(18): E2316 '_fastcall TForm1::Create(TObject *)' は 'TForm1' のメンバではない
[BCC32 エラー] Unit1.cpp(33): E2316 '_fastcall TForm1::Save1Click(TObject *)' は 'TForm1' のメンバではない
[BCC32 エラー] Unit1.cpp(50): E2316 '_fastcall TForm1::Delete1Click(TObject *)' は 'TForm1' のメンバではない
[BCC32 エラー] Unit1.cpp(59): E2316 '_fastcall TForm1::Image1Click(TObject *)' は 'TForm1' のメンバではない

というエラーがでます。
なぜでしょうか?
776デフォルトの名無しさん:2011/07/25(月) 01:22:34.90
さーよくわかんないけど、フォームデザイナのオブジェクトインスペクタでそれぞれのイベントを
ダブルクリックして作ったらいいんじゃないかな。
777772:2011/07/25(月) 08:51:46.03
つ d >>774
キャッチできないエラーって不便ですよねぇ。
778772:2011/07/25(月) 13:10:32.01
ついでですが、何でキャッチできないんでしょう?
キャッチする方法あるのかなぁ?

matherr.cを見たけど、良く分からない(><)
779デフォルトの名無しさん:2011/07/25(月) 13:11:39.66
>>776
ありがとうございます!
できました
780デフォルトの名無しさん:2011/07/25(月) 13:22:52.77
781772:2011/07/25(月) 13:32:49.36
つ d >>780

つまり、キャッチしようにも、例外じゃなくて、Cランタイム系で動作が規定されている関数なのね。
782デフォルトの名無しさん:2011/07/25(月) 13:56:35.50
C++Builder XEで
ShellExecute(Application->Handle,
"open",
appname.c_str(),
NULL,
NULL,
SW_SHOW);

というコードで 'char const[5]' 型は 'const wchar_t *' 型に変換できない というエラーが出ます
これはUnicodeStringをAnsiStringに変換する事で直るのでしょうか?
もしそうならどう修正すればいいのでしょうか?
783デフォルトの名無しさん:2011/07/25(月) 14:12:24.62
"open"
->
L"open"
784782:2011/07/25(月) 23:23:52.37
>>783
遅れました
すみませんまだエラーが出ます…
'char *' 型は 'const wchar_t *' 型に変換できない とエラー内容が多少変わったのですが…
785デフォルトの名無しさん:2011/07/26(火) 01:02:34.32
>>784
appname が AnsiString なら UnicodeString にする
786782:2011/07/26(火) 01:16:13.41
>>785
ありがとうございます!
できました
787デフォルトの名無しさん:2011/07/26(火) 13:47:30.33
C++Builder2010でADOTableについて教えてください
既存のmdbファイルがあって指定テーブルのフィールドの説明を取得する方法を教えてください
ADOTableでダメならSQL文でも構いません
788デフォルトの名無しさん:2011/07/27(水) 01:22:03.91
789デフォルトの名無しさん:2011/07/27(水) 09:43:06.09
>>788
ありがとう
これADOTableで表現するならどうやってやりますかね?
790デフォルトの名無しさん:2011/07/27(水) 10:44:49.98
RecordsetのProperties
791デフォルトの名無しさん:2011/07/27(水) 10:54:01.29
>>790
更にありがとうございます
しかしこれどうやって記述したらいいのかわかりません
792デフォルトの名無しさん:2011/07/27(水) 11:42:28.29
丸投げイクナイ
少しは自分で考えな
793デフォルトの名無しさん:2011/07/27(水) 11:57:43.94
うるせー。
だまって教えろ。ゴラァ
794デフォルトの名無しさん:2011/07/27(水) 12:38:03.73
スレタイ読めない奴はレスしないで下さい
795デフォルトの名無しさん:2011/07/27(水) 12:42:30.18
そして誰も居なくなるというループ
796デフォルトの名無しさん:2011/07/27(水) 12:47:03.76
もう、終わりにしようよ。
797デフォルトの名無しさん:2011/07/27(水) 13:33:29.25
もう〜終わりだね
798デフォルトの名無しさん:2011/07/27(水) 13:38:07.70
君が
799デフォルトの名無しさん:2011/07/27(水) 15:38:43.55
マジコード教えてくださいよろしくです
800デフォルトの名無しさん:2011/07/27(水) 16:19:22.92
小さく見える
801デフォルトの名無しさん:2011/07/27(水) 17:24:20.80
GetFieldDesc_ADO = MyTable.Columns(MyFieldName).Properties("Description")

これをどうやってADOTableの書式で表現するかわかりません
802デフォルトの名無しさん:2011/07/27(水) 20:56:29.33
>>801
まず、
1時間で正確に燃え尽きる蚊取り線香を3つ使って、1時間15分を計ってみてください。
803デフォルトの名無しさん:2011/07/28(木) 01:36:46.64
蚊取り線香ってなかなか着火しないから
火を同時に何ヶ所にもつけるのって難しいよね
804デフォルトの名無しさん:2011/07/28(木) 06:05:49.85
3人がかりだな
805デフォルトの名無しさん:2011/07/28(木) 23:45:07.35
>>801を教えてくださいよ
806デフォルトの名無しさん:2011/07/29(金) 00:59:27.92
ADOTable,ADODataSetにRecordset_といかうプロパティがあって、内部の
オブジェクト公開されてるからそれから、辿っていってみて。
807デフォルトの名無しさん:2011/07/29(金) 11:44:01.13
Builder2007でUTF-8にURLエンコードする方法を教えてください。
HTTPEncodeを使っても正常にUTF-8になってないみたいなので
808デフォルトの名無しさん:2011/07/29(金) 13:44:29.96
俺がアホだけかもしれないけど
UTF-8にURLエンコード
の意味が分からない
809デフォルトの名無しさん:2011/07/29(金) 20:12:08.80
アホはレスしないでください。
ウザいだけです。
810デフォルトの名無しさん:2011/07/30(土) 17:38:44.67
超初心者用なんだから分かるんなら説明してくれてもいいじゃん
811デフォルトの名無しさん:2011/08/01(月) 17:24:56.85
>>806
辿ってみましたがフィールドのコメントを取得するようなのを発見できませんでした。
ぶっちゃけコードを教えてください
812801:2011/08/03(水) 20:43:32.92
まじでさっさと教えてください。
813デフォルトの名無しさん:2011/08/03(水) 21:07:55.33
______  ___________
         V
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ はぁ?黙ってろデブw
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |
814デフォルトの名無しさん:2011/08/04(木) 06:27:21.25
C++Builder2007で、Access2000形式のDBにアクセスしたいんですが、簡単に実現できるクラスライブラリありますでしょうか?
815デフォルトの名無しさん:2011/08/04(木) 09:48:01.54
dbGo(ADO)
816デフォルトの名無しさん:2011/08/04(木) 10:47:18.89
簡単すぎてうんこが漏れそうになった
817デフォルトの名無しさん:2011/08/08(月) 19:06:57.41
C++Builder5を使っています。

#include "ABCDEFGH.h" ←空のファイル
#include "ABCDEFGHI.h" ←存在しないファイル

上のようなCPPをコンパイルするとエラーもなく通るんですが、
これって基本先頭8文字しか確認していないってことでしょうか?
また、C++の仕様上では正しいのでしょうか?
818デフォルトの名無しさん:2011/08/08(月) 23:18:23.60
ファイルシステムのせい
仕様上問題ない
819デフォルトの名無しさん:2011/08/09(火) 12:28:32.91
>>818
8文字ってことでDOS形式のファイル名か何かが
絡んでいるだろうとは思っていましたが、仕様上
問題ないというのは驚きです。
となると、ヘッダーファイル名は先頭8文字をユニ
ークにしなければいけないんですね。
820デフォルトの名無しさん:2011/08/09(火) 14:01:34.81
仕様がMS-DOSも前提にしてるからさ
821801:2011/08/11(木) 17:05:51.55
さっさと教えてくださいよ
822デフォルトの名無しさん:2011/08/11(木) 20:26:49.25
______  ___________
         V
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|           /、          ヽ はぁ?黙ってろデブw
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     |
/|   <  ∵   3 ∵>          \. ̄`  |      /
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /          |
823 忍法帖【Lv=16,xxxPT】 :2011/08/14(日) 15:48:26.79
日本語版で開発したアプリケーションを英語版Windowsに持って行くと、エラーメッセージが日本語で表示されるのですが、
エラーを英語で表示するにはどうしたらいいのでしょうか?独島は日本の領土
824デフォルトの名無しさん:2011/08/16(火) 03:24:59.36
ヘルプの「国際化対応アプリケーションの作成」を読むといいよ
BCB5の場合だけど
825801:2011/08/16(火) 16:26:08.12
とっとと教えてくださいよ
826デフォルトの名無しさん:2011/08/24(水) 15:20:16.08
BCB2010を使用しています。
pragmaでインクルードファイルのパスは指定できるのでしょうか?

827デフォルトの名無しさん:2011/08/24(水) 15:57:39.79
おそらくできない。
ttp://docwiki.embarcadero.com/RADStudio/ja/Pragma
828デフォルトの名無しさん:2011/08/24(水) 16:03:16.21
http://docwiki.embarcadero.com/RADStudio/ja/Pragma_option
#pragma option で使用できないオプションは以下のとおりです。
のところに
-Ifilename
829デフォルトの名無しさん:2011/08/24(水) 16:22:12.53
>>827,828

有り難うございます。
すっぱり諦めます。
830デフォルトの名無しさん:2011/08/27(土) 14:02:57.71
ビルダーで、計算した計算結果を
データ入力値や計算結果・図示などの
印刷を行いたいのですが、
ページは数ページから数十ページ程度の出力となりうるもので
ビルダーでするにはどのコンポーネントをつかう必要が
あるのでしょうか?
QuickReportを検索したのですが、
フリーであればよいのですが、
有償問わず教えてもらえたらと。
831デフォルトの名無しさん:2011/08/28(日) 00:13:46.14
csvファイルにしてOpenOfficeで読み込んじゃったり
832デフォルトの名無しさん:2011/08/28(日) 00:52:22.10
FastReportsかQuickReportsだろ
833デフォルトの名無しさん:2011/09/09(金) 16:50:07.99
いまさら、BCB5update1 つかってます。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString str1 = "test1";
AnsiString str2 = Caption;

AnsiString dummy1;
AnsiString dummy2;
AnsiString dummy3;
AnsiString dummy4;

#if 1
AnsiString tmp = (str1.Length() ? str1:Caption );//EAccessViolation
#else
AnsiString tmp = (str1.Length() ? str1:str2 );//OK
#endif
}

↑で、EAccessViolation が発生するのは、なぜなんだろ?
コンパイラが腐ってるという噂もありつつ...
834デフォルトの名無しさん:2011/09/09(金) 18:57:56.44
確かに、その辺のバージョンで、?:演算子で
?の右(どちらか)にデストラクタが必要なオブジェクトを置いたとき
変なコードを吐いたのを覚えてる。

危険と認識したので、俺的には
?の右に置くものは組み込み型のみで、かつ2つの型を統一にするようにしている。
835デフォルトの名無しさん:2011/09/09(金) 19:01:09.08
一応。
暗黙の型変換とデストラクタとで
どちらが原因でバグにぶつかるのか深く追求しなかったから、
両方を避けるようにしてる、ってこと。
特にコンストラクタを介する暗黙の型変換は確実にとぶだろうと。
836デフォルトの名無しさん:2011/09/10(土) 05:22:23.39
BCB6 でも再現するがな
さすがに XE2 では正しく動いた。テンポラリのオブジェクトを適切に破棄しておる

>コンパイラが腐ってるという噂もありつつ...
それが正解
837833:2011/09/10(土) 19:35:16.92
はぅ、やはりそうなのか...

マシン語がよめれば、確信がもてたんだろけど、
よめないので、吐かれたコードが怪しいとおもいつつ、確信がもてなかただ
やっぱ、最後はマシン語よめないとなぁ...勉強しろよ>自分

if文に書き換えりゃいいだけだから、まぁ、大した話ではないんだけど、
失った時間が...

↑のは、dummy をはさんでるから、当該文で、例外がおきるけど、
スタックの状況によっては、全然離れたところが壊されて、
意味不明の動作になるから、けっこうたちがわるい...
838デフォルトの名無しさん:2011/09/10(土) 19:55:35.09
機械語読めないならCとかC++とか使わないほうがいいよ。MSのドットネットとか使ったほうが安全だと思う。その例だとどうみたってコンパイラのバグだとしか
思えない。ただ、バグを回避するコーディングもテクだとは思うが。
839デフォルトの名無しさん:2011/09/11(日) 10:18:11.84
いまどき機械語読める奴なんていねえよ。
8086の時代じゃあるまいし、バカかよ。
32bitのあのやたら長いバイナリを読める奴なんいるんかよ。
アセンブラ読めれば十分だろ、阿呆。
840デフォルトの名無しさん:2011/09/11(日) 10:31:35.14
ナニを切れてるんだか。デバッガの逆アセを読めるかどうかを言ってるんだろ、たぶん。
「C3がRETだ」とかそういうレベルで機械語が読めるとでも思ったのか??コンパイラが
吐くコードがイメージできないと辛いってことだと思うが。
841デフォルトの名無しさん:2011/09/11(日) 13:34:30.72
機械語
http://e-words.jp/w/E6A99FE6A2B0E8AA9E.html
マイクロプロセッサが直接解釈・実行できる言語。数字の列で表現され、人間が簡単に理解できるような形式にはなっていない。
842デフォルトの名無しさん:2011/09/12(月) 06:25:03.34
bpをpush/popする意味はなんですか?
843デフォルトの名無しさん:2011/09/12(月) 12:23:43.92
bpをポイントとして使ってんじゃね
844デフォルトの名無しさん:2011/09/12(月) 20:42:14.38
(E)BPは普通その関数の仮引数とローカル変数のスタック上の基準位置を示すのに使う。
845833:2011/09/17(土) 21:24:46.26
ありゃ?私のがもとでなんか険悪?
ちなみに私も、アセンブラのつもりでマシン語とつかてた
846デフォルトの名無しさん:2011/09/17(土) 21:27:26.21
という話はおいておいて。本題

また、BCB5update1 でのお話
//---------------------------------------------------------------------------
class TTest1
{
protected:
#if 1
AnsiString __fastcall GetTest(){return GetTest(1);}//<== E2247 アクセスできない
#else
AnsiString __fastcall GetTest(){return "1";}//<== OK
#endif
public:
__property AnsiString Test ={read=GetTest};
AnsiString __fastcall GetTest(int x){return AnsiString(x);}
};
//---------------------------------------------------------------------------
class TTest2
{
private:
TTest1 * Test1;

protected:
AnsiString __fastcall GetTest(){return Test1->Test;}
public:
__property AnsiString Test ={read=GetTest};
};
//---------------------------------------------------------------------------

これで、コンパイルエラーが出るのはなぜなんでしょ?
847デフォルトの名無しさん:2011/10/10(月) 15:44:24.19
C++builderってdelphiみたいにポインタ使わずにプログラミングできる?
848デフォルトの名無しさん:2011/10/10(月) 15:48:15.92
コンポーネント(TObjectからの派生)がポインタをフル活用しているから難しいんじゃないか?
849デフォルトの名無しさん:2011/10/10(月) 16:30:47.92
Delphiはクラス型変数が実際にはポインタであって、それを構文上ポインタとして見せないというだけだからなぁ。
850デフォルトの名無しさん:2011/10/10(月) 19:51:01.56
string ^ b = a; みたいのだったけか…一応 pascal でもポインタ使えたような記憶がある…
あまり使わないからよく覚えてないし
851デフォルトの名無しさん:2011/10/20(木) 15:22:19.51
Delphiがベースなせいで
C++なら参照で済むところまでポインタ使ってる
852デフォルトの名無しさん:2011/10/20(木) 17:27:05.35
WM_MOUSEWHEELイベントでマウスホイールを取ってるんだけど
StringGridにフォーカスがあるとWM_MOUSEWHEELが入ってこなくなるので
StringGridのMouseWheelを無視してWM_MOUSEWHEELにイベントが入ってくるようにする方法を教えてください
853デフォルトの名無しさん:2011/10/20(木) 17:36:51.16
StringGridをいじってメッセージを転送するのじゃ
854デフォルトの名無しさん:2011/10/20(木) 17:50:10.42
いやそもそもStringGridが受け取らないようにしたい
Enabledをfalseにする如くに。
しかし、グリッド操作もするのでそれはできない
855デフォルトの名無しさん:2011/10/20(木) 18:06:40.77
ホイールを破壊する
856デフォルトの名無しさん:2011/10/20(木) 18:26:34.41
きえろぶっとばされんうちにな
857デフォルトの名無しさん:2011/10/20(木) 20:55:25.38
うん
858デフォルトの名無しさん:2011/10/22(土) 19:07:24.72
プログラムがWM_MOUSEWHEELを受け取ったら
マウス位置がStringGrid内かを判断して
StringGrid内だったら、処理したい関数にメッセージを転送すればいい。
これはわりと普通に行われている処理で
ぐぐれば、いくらでも例が出てくる。
859デフォルトの名無しさん:2011/10/24(月) 06:37:15.09
VCLのTObjectListってC++でテンプレートで使えないんでしょうか?
std::vector使えばテンプレートでキャストしなくてもいいですが、
VCLで統一したくて、でもTObjectListだとキャストいぱーいでいやーんです。。。
860デフォルトの名無しさん:2011/10/26(水) 14:16:12.70
マルチスレッドでクリティカルセクションの使い方がわかりません。

グローバルでcs1,cs2を,Form1のpublicにchar buf[20]を宣言して、
Form1にEdit1,Edit2,Button1を貼って実行すると、競合させたbufの内容が
Edit2側にゴミとして表示されてしまいます。

 ttp://ideone.com/Tk5g9

下の2つがスレッド側です。
使い方が根本的に違うのでしょうか。
861デフォルトの名無しさん:2011/10/26(水) 14:49:16.04
まじめに見てないけど。
家(buf)には鍵(cs)が1つだけあって、それを先に取ったものが家に入れる。
「家とは関係のない鍵(cs1,cs2)」をそれぞれが持っててるだけでは意味ない。
862デフォルトの名無しさん:2011/10/27(木) 01:07:21.50
CriticalSectionは1個だけ作成する。
作成するタイミングも間違い。コンストラクタか、FormCreate()でnewすべき。
競合するオブジェクトにアクセスしたいときにAcquire()する。
863860:2011/10/27(木) 13:24:14.00
>>861-862
やってみたのですが、上手くいきません。

スレッド側のSleepがロックを解除してしまうとかはなさそうだし。
Sleepがないと、クリティカルセクションを使わなくても見た目では
競合していなかったので入れてみたのですが。

本来のやりたい事は、buf[]を介してUSB-I/O基板を繋いで、
メインスレッド側:
 ・Timer1で定期アクセス
 ・特定の処理で単発アクセス
サブスレッド側:
 ・特定の処理で連続アクセス
だったので、実験的に競合させるサンプルプログラムを作って動作を
試したかったのです。
(ググっても、見た目で効果がわかるようなサンプルプログラムはなかったので)

タイマイベントの中でフラグを立てて、それを監視して競合を避ける方法も試してみます。
864デフォルトの名無しさん:2011/10/27(木) 13:45:51.12
その上手くいかないソースは上げられませんか?

タイマイベントの中でフラグ云々は、クリティカルセクションそのもののような気が。
865デフォルトの名無しさん:2011/10/27(木) 13:59:33.25
上げられません
866860:2011/10/27(木) 15:16:25.87
>>864
こんなんです
ttp://ideone.com/l7PYW

フラグでの処理は、まだは試していません
867デフォルトの名無しさん:2011/10/27(木) 17:23:54.69
Synchronizeってメインスレッドで動くから競合しないんじゃ…。
丸ごとSynchronizeするならスレッドの意味ないんじゃ…。
868デフォルトの名無しさん:2011/10/27(木) 20:22:24.18
これ、クリティカルセクション保持したままメインスレッドに処理渡すと
デッドロックしそうなんだけど。

基本は競合するところに最小限のロックをかけるだから、テストといえどもまずい。

869デフォルトの名無しさん:2011/10/28(金) 06:54:34.72
>>866
Timer1Timer はメインスレッドのメッセージループ内で動作するよ。
Synchronizeを使って呼び出されたSyncDebugはメインスレッドのメッセージループ内で動作するよ。

TCriticalSectionやMutexみたいなことをメッセージループで実現するのがTThreadのSynchronizeなのでどちらかにしたほうがいいよ。
870デフォルトの名無しさん:2011/10/28(金) 11:41:44.21
訂正

Mutexは違うな
871デフォルトの名無しさん:2011/10/28(金) 13:00:04.95
違わなくね?
872デフォルトの名無しさん:2011/10/28(金) 16:31:44.78
いや、同じことは出来るけど、排他制御を関数内で完結させる(局所的な排他制御機構)という点でMutexはいれないほうがいいかなと後で思った
用途の違いというかそんな感じ
873デフォルトの名無しさん:2011/10/28(金) 22:25:37.51
TCriticalSection でぐぐれば、具体例がいろいろ出てくるよ。
実際に正しく動作する例を見れば、理解できるんじゃないかな。
874860:2011/10/29(土) 10:27:45.71
>>967-868
最初はUnit2.cppのExecute()の中で競合させようと、
あれこれ試したのが、上手く競合した状態を作れなくて
Synchronizeを使い出してしまったんですが、本末転倒ですね。

Synchronizeがメインスレッドで実行されるということは、
全く意識していませんでした。

>>869-872
Mutexはプログラム自体の二重起動防止では使っていますが、スレッドに対しても
使えるということでしょうかね。

>>873
TCriticalSectionはググってDelphiの例も読んでみたのですが、局所的な部分の
例しか見つけられませんでした。

クリテクカルセクションは、私には効果を確認する能力がないので諦めて、
フラグで処理しようと思います。

長々と付き合ってもらい、ありがとうございました。
875デフォルトの名無しさん:2011/10/29(土) 11:15:49.57
>フラグで処理しようと思います
いや、・・・TCriticalSectionは、そのフラグだから。
マルチスレッドでもちゃんと調停してくれることを保証するフラグ。
876デフォルトの名無しさん:2011/10/29(土) 11:54:06.06
>>875
それは解りましたが、”私の能力では”効果が確認できないので
TCriticalSectionで書くのを止めるということです。

Synchronizeでも使ってメインスレッド側で調停させる
ことにします。

877デフォルトの名無しさん:2011/10/29(土) 15:35:02.01
やーい無能m9(^Д^)プギャーーーッ
878デフォルトの名無しさん:2011/10/29(土) 16:24:53.78
>>876
何逆ギレしてんの?カルシウムとっとけよー
879デフォルトの名無しさん:2011/10/31(月) 10:11:38.77
あれが逆ギレに見えるんだww
880デフォルトの名無しさん:2011/11/01(火) 10:05:20.79
指定コントロールのMouseDownイベントで
Corsorの形状を変えているのですが
この時にマウスボタンを離さないとカーソルが変わってくれません。
これマウスボタンを押したままでマウスカーソルを変更する方法を教えてください
881デフォルトの名無しさん:2011/11/01(火) 16:40:12.41
試してないけど カーソルを変更した後にApplication->ProcessMessages();入れてみたら?
882デフォルトの名無しさん:2011/11/01(火) 17:10:17.79
>>881
それやったけどダメですた。
ちなみにSleepもやったけどダメですた
何か強制的にカーソル変えるアレないですかね?
ちなみにScreenのカーソルなら一発で変わるんですけどね

883デフォルトの名無しさん:2011/11/01(火) 17:26:33.21
やりたいことがよくわからないんだけど、コントロールのCursorはそのコントロール上に
カーソルが来たときのデフォルトのカーソル形状を設定するもの。なので通常は
Screen.Cursorを変更するんだけど。
884デフォルトの名無しさん:2011/11/17(木) 23:18:33.47
TIniFileクラスのWriteStringで、
改行を含むAnsiString型の文字列(中身=AA\r\nBB\r\nCC)をiniファイルに書く。
これでiniファイルを覗いてみると、

[Test]
Test1=AA
BB
CC

のように正しく書き込まれている。
でも、それをReadStringで読み込むと、AAまでしか読めず
BBやCCの部分は読めない。

どうしたらいい?
ちなみにTest1に書きたい文字は行数が決まっていない(改行が何回あるかわからない)
885デフォルトの名無しさん:2011/11/18(金) 00:13:38.10
[Test]
Test1_Lines=3
Test1_Line1=AA
Test1_Line2=BB
Test1_Line3=CC
じゃだめ?
886デフォルトの名無しさん:2011/11/18(金) 08:47:52.86
その1
\r\nをあらかじめ別の文字あるいは文字列に置換して書き込む
読み出し時に、置換部分を\r\nに戻す
その2
複数行に対応した関数(例:ReadStrings)を作成する
887デフォルトの名無しさん:2011/11/18(金) 09:41:37.18
Ini ファイルは、改行が区切りコードだからなぁ...
以下のデータがあった場合
AA\r\nzz=1\r\nCC

[Test]
Test1=AA
zz=1
CC

と書き込まれますが、884 は、ReadString で何が読めたらよい?

まぁ簡単には HTTPApp.HTMLEncode/HTMLDecode を使うことを考えたらどうだろうか
C++Builder でも(バージョンにもよるだろうけど)使えると思う。
888デフォルトの名無しさん:2011/11/21(月) 06:26:05.41
C++ Builder は、いつ C99 や C++11 に対応しますか?
889デフォルトの名無しさん:2011/11/21(月) 10:50:31.61
しません。
C++98 の亜種として、「Borland C++」という独自規格だと思ったほうがよいでしょう。
C++03 すら満足していません。
890デフォルトの名無しさん:2011/11/21(月) 14:21:43.73
>>888
高速C++「もどき」コンパイラだと思っておけばいいよ

でもXE→Update→XE2→Updateの度にbcc32.exeのサイズが少しずつ大きくなっている
まあ多分SSE4.2とかSSE4a、AVXのインラインアセンブラを拡充しただけだと思うけど
891デフォルトの名無しさん:2011/11/21(月) 14:27:49.03
かかってこいよ
892デフォルトの名無しさん:2011/11/21(月) 15:55:10.13
>まあ多分SSE4.2とかSSE4a、AVXのインラインアセンブラを

それはすばらしい
893デフォルトの名無しさん:2011/11/21(月) 16:16:06.30
でもVCのCompiler Intrinsicsの方が便利だと思わないか?
どちらにしろx64ではインラインアセンブラは禁止されちゃったしCompiler Intrinsicsを
使うしかないわけだが

今回C++Builderの64bit化が見送られたのもここら辺に関係ありそう

894デフォルトの名無しさん:2011/11/21(月) 16:51:10.99
TArrowSeriesでLineSeriesのXValue[0]=0みたいに
動的に値を変更するにはどうしたらいいですか?
EndXValues->XValue[0]=0;
とやっても値が変わらないみたいなので・・
895デフォルトの名無しさん:2011/11/22(火) 15:56:01.89
カタログには「ANSI/ISO C++言語標準への準拠とBoostサポート」って
書いてあったりするのになあ。
BCB5の頃は最新ANSI C/C++に対応って謳ってたのになあ。

インラインアセンブラはMSが勝手に自粛してるんじゃなくて、
コンパイラメーカーは64-bitでインラインアセンブラ実装しちゃ
いけないってことなのかな。
896デフォルトの名無しさん:2011/11/22(火) 16:30:10.66
禁止。って誰がいってるの?
897デフォルトの名無しさん:2011/11/22(火) 16:57:46.52
移植性が落ちるから?
898デフォルトの名無しさん:2011/11/22(火) 17:13:03.04
Compiler Intrinsicsを使うとCPUに最適なコードを勝手に生成してくれるからだろう
アセンブリ言語まで抽象化されちまった

そのCPUが持つ最高の命令を使うわけだ
気持ち悪いな
レジスタが見えないとか
899デフォルトの名無しさん:2011/11/22(火) 17:16:11.65
>>896
http://msdn.microsoft.com/ja-jp/library/26td21ds(v=vs.80).aspx

>The intrinsics are required on 64-bit architectures where inline assembly is not supported.

禁止は別にされてないが、VCでAMD64用のコンパイラはインラインアセンブラを
サポートしなくなったってだけの話だろ

Embarcaderoがどのようにしようと勝手
でもCompiler Intrinsicsが主流になりそうな予感
900デフォルトの名無しさん:2011/11/23(水) 03:34:04.45
Compiler Intrinsics は MS/Intel/GCC でサポートされちゃったからねぇ
901デフォルトの名無しさん:2011/11/24(木) 13:25:04.98
TChartで動的にスクロールする方法おしえて
902デフォルトの名無しさん:2011/11/25(金) 12:15:27.64
顔を横に動かす。
903デフォルトの名無しさん:2011/11/25(金) 21:45:22.42
それでは縦スクロール出来ないじゃん
904デフォルトの名無しさん:2011/11/25(金) 22:51:40.65
顔を縦に。。。
いや、なんでもない
905デフォルトの名無しさん:2011/11/28(月) 23:48:57.40
え、インラインアセンブリ無しでどうやってMMXやSSE動かすの?
906デフォルトの名無しさん:2011/11/29(火) 09:21:01.53
VisualC++、IntelC++ GCC は十分に頭がよいので、アセンブラ使わなくても十分速度は出る。
そしてどうしても使いたいときは、MMX/SSE の命令に一対一対応した専用の関数を使う。
上記のコンパイラは十分頭がよいので、それらを適切なアセンブラ命令に変換してくれる。

某所の頭が悪いコンパイラではそういうことはできない
907デフォルトの名無しさん:2011/11/30(水) 16:19:47.91
質問あるんだけどログ見る限りじゃまともに答えてくれる人はいないな・・・
いつからこんなゴミ隔離スレになっちゃったんだろ・・
908デフォルトの名無しさん:2011/11/30(水) 16:26:33.72
>>907からゴミ隔離スレになりました
909デフォルトの名無しさん:2011/11/30(水) 17:15:17.43
もう板全体というか2ch自体が過去の遺物
910デフォルトの名無しさん:2011/11/30(水) 17:22:08.29
やっぱりゴミが沸いた・・・
もうダメだこのスレ・・・
911デフォルトの名無しさん:2011/11/30(水) 17:34:59.06
質問も書かずに荒らしてるのはお前なんだけどな
912デフォルトの名無しさん:2011/11/30(水) 18:18:12.24
>>907
わかることなら答えるよ
ここのふいんきがいやなら公式フォーラムで
913デフォルトの名無しさん:2011/11/30(水) 18:35:18.41
ここは雑魚しかいないから他行きます・・
914デフォルトの名無しさん:2011/11/30(水) 18:37:32.90
2ch自体が雑魚の集まり
915デフォルトの名無しさん:2011/11/30(水) 18:37:37.39
>>913
お前も雑魚だな
916デフォルトの名無しさん:2011/11/30(水) 18:53:52.21
雑魚はレスしないで下さい。ウザイだけです。。
917デフォルトの名無しさん:2011/11/30(水) 20:13:25.10
ま た お ま え か
918デフォルトの名無しさん:2011/11/30(水) 21:01:48.45
>>916
と 雑 魚 が申しております
919デフォルトの名無しさん:2011/11/30(水) 21:40:59.09
また雑魚か
920デフォルトの名無しさん:2011/12/06(火) 16:26:47.18
TLineSeriesでLinePenの幅はピクセル単位だけどこれを物理量(軸スケールと同じ単位)で指定する方法を教えてください
921デフォルトの名無しさん:2011/12/06(火) 17:09:10.79
Chart->LeftAxis->CalcPosValueってのを発見したけど!
何を与えても全部0で返ってくる・・・
これどうしたらちゃんとした値が返るの??
922デフォルトの名無しさん:2011/12/06(火) 17:21:18.99
CalcYSizeValue
系列の値から画面の座標値を割り出すメソッド
系列にも座標値からポイント値への変換,およびこの反対の変換を行う似たようなメソッドがあります。主な違いは,系列メソッドを使用すると,計算の際に正確な軸コンポーネントを理解している必要がないという点です。
これは,右または上の軸に関連する系列,あるいは各軸に関連する複数の軸がある場合に,大変便利です。

CalcPosValue
このコードは,1000 の値を持つ Series1 のポイントを画面上のどこに置くかを計算します。
Var MyPos : Longint ;
MyPos := Series1.CalcPosValue( 1000 );
あるいは
MyYPos := Series1.CalcPosValue( Series1.YValue[ 0 ] ) ; { <-- 最初のポイント }

CalcXPos および CalcYPos
特定のポイントあるいは特定のポイント値に対する,X および Y の両方の座標値を計算することができます。
MyXPos := Series1.CalcXPos( EncodeDate( 1997, 12, 31) ) ;
あるいは
MyXPos := Series1.CalcXPos( Series1.XValues.Last ); { <-- 最後のポイント }

XScreenToValue および YScreenToValue
画面ピクセルをポイント値に変換するには,次のコードを使用してください(水平座標値用は XScreenToValue)。
Var MyValue : Double ;
MyValue := Series1.YScreenToValue( Y ) ;
924デフォルトの名無しさん:2011/12/06(火) 17:29:49.35
>>922
ありがとう
てか、表示でけた。
Showイベで値取得できないのねこれ。
ボタン押して取得するようにしたら取れた
ちなみに
CalcPosValueとCalcYSizeValueの違いがいまいちよくわからないなあ
同じくLeftAxis->これでやったら違う値かあらmfだdsm「pふじこ
925デフォルトの名無しさん:2011/12/06(火) 17:39:42.86
C++Builder6 で作ったプログラムで、
FormatDateTime で元号の表示してるプログラムの場合、
将来的に元号変わったら、その時点で使えなくなるって認識でいい?
926デフォルトの名無しさん:2011/12/06(火) 17:49:16.72
OSに依存じゃなかったっけ
927925:2011/12/06(火) 22:46:49.95
レスありがとう。

それなら安心なんだが。

質問するまえに、ライブラリのソース見てみればよかったんだね。
気がつかなかったw
ディスクを探す作業に戻るよ。
928デフォルトの名無しさん:2011/12/06(火) 23:26:29.64
OSに依存だからこそどうにもならないような気も
929デフォルトの名無しさん:2011/12/07(水) 13:46:13.08
Windows 7以降であれば追従可能になっている。
ttp://cpplover.blogspot.com/2011/11/windows.html

逆にいえばそれ以前のOSではおそらく何が起きても追従しない。
930デフォルトの名無しさん:2011/12/08(木) 02:18:24.03
>何が起きても追従しない。
どうしてそう言い切っちゃえるんだろう

Windows7 以降は見やすいところにテキスト平文で書かれている。ってだけ。
それ以前の OS でも変更可能。元の Microsoft のブログでも、以前の OS の話はしていない。
W7/.NET4 ならレジストリエディタで「簡単」に変更できる。って言ってるだけ。

つか Vista で元号更新できなきゃ大騒ぎになるだろうに
931デフォルトの名無しさん:2011/12/20(火) 11:35:16.49
[MSBuild エラー] "ILINK32" タスクが予期せずに失敗しました。
System.Runtime.InteropServices.COMException (0x8000FFFF): 致命的なエラーです。 (HRESULT からの例外: 0x8000FFFF (E_UNEXPECTED))
場所 Borland.Build.Tasks.Cpp.IBCBuildHostObject.ILinkAliasVFSFile(String fileName, String& tempFilename)
場所 Borland.Build.Tasks.Cpp.ILINK32.GetCommandLine()
場所 Borland.Build.Tasks.Common.BaseTask.GenerateCommandLineCommands()
場所 Microsoft.Build.Utilities.ToolTask.Execute()
場所 Borland.Build.Tasks.Common.BaseTask.Execute()
場所 Borland.Build.Tasks.Cpp.ILINK32.Execute()
場所 Microsoft.Build.BuildEngine.TaskEngine.ExecuteTask(ExecutionMode howToExecuteTask, Hashtable projectItemsAvailableToTask, BuildPropertyGroup projectPropertiesAvailableToTask, Boolean& taskClassWasFound)

C++Builder2009でビルドすると上のようなエラーが出る場合があるんだけど何だろう?
コンパイルは終わってリンクでエラーになってるみたいだが、このままもう一度ビルドを
実行するとリンクも終わって正常に終了してプログラムも実行できるのだが・・・
サイズの大きいプログラムだから何らかの制限で途中でビルド出来なくなってるのかなぁ?
ググってみたところ国内では見つからず海外では同じような事象の報告が見つかったが
翻訳しても何を書いてあるのか全然ワカランし
932デフォルトの名無しさん:2011/12/21(水) 12:45:57.75
C++Builder2010環境での__int64論理演算に関して教えて下さい。

BYTE dt[] = { 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88 };
__int64 len;

len = 0;
shift = 0;
for(i=0;i<8;++i)
{
len |= dt[i] << shift;
shift += 8;
}

BYTE変数を64bit変数に並び替えるプログラムを作りました。
しかし思った様な動作をせず、何処がいけないのかを調べたら、
シフトした結果が以下の様になっていました。

0x0000000000000011 ok
0x0000000000002200 ok
0x0000000000330000 ok
0x0000000044000000 ok
0x0000000000000055 ng 0x0000005500000000これが正しい値
0x0000000000006600 ng 0x0000660000000000
0x0000000000770000 ng 0x0077000000000000
0x0000000880000000 ng 0x8800000000000000

どうしてこの様な結果になるのでしょうか?
どなたかアドバイスをお願いします。
933デフォルトの名無しさん:2011/12/21(水) 12:57:51.21
len |= (__int64)dt[i] << shift;
とか?
934デフォルトの名無しさん:2012/01/15(日) 19:24:20.03
簡単なランチャーを作ってみようと思い、
フォームにButtonとMemoを配置し
drag&Dropを使ってTMemoにDropしたファイル名のフルパスを表示する所までできました。
TButtonにDropしたファイルのアイコン表示とファイル登録をしたいのですが、どうすればいいのでしょうか
935934:2012/01/15(日) 21:06:23.09
あ、すみません
ファイル登録はできました。
ButtonにDropしたファイルのアイコンを表示するにはどうすればいいでしょうか?
936デフォルトの名無しさん:2012/01/16(月) 07:46:49.35
SHGetFileInfo
937デフォルトの名無しさん:2012/01/18(水) 16:27:21.94
C++Builder2010でメール受信
TIdMessage *msg = new TIdMessage(this);
IdPOP3->Retrieve( 1, msg );
Memo->Lines->Add( msg->Subject );
delete msg;
色々ぐぐったらこれでOKみたいなんだけどSubjectが化ける
SubjectはJconvert使わなくてもOKみたいなんだけど、これどうやったらちゃんと表示しれくれますかね?
938デフォルトの名無しさん:2012/01/18(水) 16:40:58.64
>SubjectはJconvert使わなくてもOKみたいなんだけど

思い込みは捨てなさい
939デフォルトの名無しさん:2012/01/18(水) 16:42:08.85
いや、どのサンプルみてもSubjectでJconv使ってない。
本文では使ってっけど。
っていうか、知らないならレスしないでね。
940デフォルトの名無しさん:2012/01/18(水) 17:09:33.19
C++Builder2010ってIndy10なのかな?
Indy9なら
http://read2ch.com/r/tech/1093654251/
334あたりから
最新のIndy10
http://indy.fulgan.com/ZIP/Indy10_4734.zip
では直っているような気がするが、確認はしていない。
941デフォルトの名無しさん:2012/01/18(水) 17:12:07.45
>>940
Indy10です。
942デフォルトの名無しさん:2012/01/18(水) 17:14:27.06
ちなみに、Subjectは1行で長くはないでふ
943デフォルトの名無しさん:2012/01/18(水) 17:15:30.73
最新Indy10のIdCoderHeader.pas
と中身を比較してみて
更新されているなら、最新のIndy10にすれば直る。

かも・・・
944デフォルトの名無しさん:2012/01/18(水) 17:18:22.61
>>934
ありがとうやってみます。
ちなみに、ふつうは>>937でOKだよね??
945デフォルトの名無しさん:2012/01/18(水) 17:25:27.46
>>943
結構違ってましたねこれ
ちなみにこれどやってコンパイルするんですか?
946デフォルトの名無しさん:2012/01/18(水) 19:43:38.75
C++Builder 2009 の queue.h を見たら,
内部コンテナの c が,その上の protected を
コメントアウトして public にされちゃってるん
だけど,何でだろ?
947デフォルトの名無しさん:2012/01/20(金) 10:05:08.80
TImageの画像を回転させたいんだけど
DirectXとかでできるならやりかた教えてくださ
948デフォルトの名無しさん:2012/02/19(日) 12:03:40.92
エクセル操作についての相談です。
シート8gatuのセル[5,7]に書かれた値を、シート9gatuのセル[5,7]に書きたい。
で、Delphiのようにスマートに書きたいのですが、OlePropertyGetとOlePropertySetでアタッチするのが、どうも不細工で。
COlevariantか何かでシート情報等を取得できれいいのだけど、そういうのが可能か?
初心者なのでよくわかりません。ということで、ちょっと知恵を貸してもらえませんか。いずれもTurboExplorerです。
/////////////////////////////////
var
ExcelApp,ExcelBook,ExcelSheet:Olevariant;
begin
ExcelApp := CreateOleObject('Excel.Application');
ExcelBook := ExcelApp.WorkBooks.Open('C:\\MOGURA.xls', False);
ExcelSheet := ExcelBook.WorkSheets['8gatu'];//--読み込み
MIMIZU := ExcelSheet.Cells[5,7];
ExcelSheet := ExcelBook.WorkSheets['9gatu'];//--書き込み
ExcelSheet.Cells[7,5] :=MIMIZU;
//--------------
/////////////////////////////////
Variant exAppl,exWorkbooks, exWorkbookl,exWorkSheets,exWorkSheet;
exAppl = Variant::CreateObject("Excel.Application");
exAppl.OlePropertySet("Visible",false);
exWorkbooks = exAppl.OlePropertyGet("Workbooks");
exWorkbook = exWorkbooks.OleFunction("Open","C:\\MOGURA.xls");
exWorkSheets = exWorkbook. OlePropertyGet("WorkSheets");
exWorkSheet = exWorkSheets.OlePropertyGet("Item","8gatu");//--読み込み
MIMIZU = exWorkSheet. OlePropertyGet("Cells",5,7).OlePropertyGet("Value");
exWorkSheet = exWorkSheets. OlePropertyGet("Item","9gatu");//--書き込み
exWorkSheet.OlePropertyGet("Cells",5,7).OlePropertySet( "Value",MIMIZU);
949デフォルトの名無しさん:2012/02/21(火) 16:29:59.07
BCB5で作ったプログラムをBCB2006にコンバージョンしています。
このプログラムで、別途作成したbplがあって、これは何とか
BCB2006でビルド出来たのですが、パッケージインストールして
いざコンポーネントを貼り付けようとしたら、「リストがインデックスの境界を超えた」
とエラーになります。
何とか調べたところ、以下のプロパティの n に大きな値が入ってきてることがわかりました。

__property AnsiString DspIdxs[int n] = {read = FGetDspIdxs};

それで質問なんですが、このプロパティの int n って初期化が必要なのかと思いますが、
どうやって初期化すればよいのでしょうか?

誰か、この初心者におしえてください。
950デフォルトの名無しさん:2012/03/02(金) 18:33:15.90
大分昔に作ったTurboCで作ったDOSアプリをXE2にコンバージョンしたいのですが、test.prjを何に変えればよいのですか?
TurboCのバージョンは2.0です。
951デフォルトの名無しさん:2012/03/03(土) 00:40:49.30
ファイルのリストと、特別に指定したオプションがわかるかといいかと。
.prj は、バイナリファイルなので、
Turbo C 2.0 の IDE のプロジェクトウィンドウで見るか、
prj2mak ユーティリティって、TC20 にあったっけ?

952デフォルトの名無しさん:2012/03/09(金) 19:28:33.92
borland の make の並列化対応版て無い?
953デフォルトの名無しさん:2012/03/10(土) 21:25:36.26
無い。
954デフォルトの名無しさん:2012/03/13(火) 11:55:20.09
Windows7にC++Builder5を入れたんだけど
プロジェクトのオプションを開こうとするとアドレスエラーが出る
これ回避方法教えてくささい
955デフォルトの名無しさん:2012/03/13(火) 12:00:29.57
回避できません。Visual Studio C++ を勧めます。
956デフォルトの名無しさん:2012/03/13(火) 12:08:07.88
マイ糞ソフト信者は消えてくれ

つーか、他のWin7に5入れても特にエラー出ないんだが
今日他のに入れたらエラーでまくりなんだ
なんとかしてくれ
957デフォルトの名無しさん:2012/03/13(火) 13:10:26.17
回避できません。
別のまともなツールを使ったら?
958デフォルトの名無しさん:2012/03/13(火) 13:12:23.80
いいから消えろよ蛆虫
959デフォルトの名無しさん:2012/03/13(火) 14:14:34.71
>>954
俺はXPモードで動かしてるよ
960デフォルトの名無しさん:2012/03/13(火) 14:19:16.96
>>959
俺もそうしてる
2台に5入れてんだけどそれは大丈夫なんだけど
今日他のPCに入れたらエラーでまくり理由わからん
フォルダの権限とかもアレしたみたけどだめ
ほんとマイクロソフトはゴミすぎる
961デフォルトの名無しさん:2012/03/13(火) 15:58:36.84
わざとかもね
962デフォルトの名無しさん:2012/03/13(火) 16:09:58.05
ああ、ちなみにおかしいのはバージョンが新しいWin7だな
これ完全にマイクロソフトが仕込んだアレだろ
963デフォルトの名無しさん:2012/03/13(火) 16:59:53.82
ばーじょんうぷ、はよはよ
964デフォルトの名無しさん:2012/03/14(水) 01:02:55.07
いつまで前世紀のもの使ってんだよ
965デフォルトの名無しさん:2012/03/14(水) 04:33:19.78
Q>これ回避方法教えてくささい
A>回避できません。

終了
966デフォルトの名無しさん:2012/03/14(水) 13:35:20.14
まだOWL使ってるぜ
967デフォルトの名無しさん:2012/03/14(水) 22:41:29.18
OWLnextにしようぜ
968デフォルトの名無しさん:2012/03/14(水) 23:40:01.12
ああOWLNextだ
969デフォルトの名無しさん:2012/03/15(木) 00:05:37.17
owltech
970デフォルトの名無しさん:2012/03/15(木) 21:19:47.22
turboC++2006explorでメソッド単位で折りたたむと、
{}が変なところでぶちぶち切れるんだけど、
修正パッチって出てない?知らない?
971デフォルトの名無しさん:2012/03/15(木) 23:35:37.23
ん〜聞いたことないなぁ。Turbo Explorerはもうなかったことにされちゃってるし。
972デフォルトの名無しさん:2012/03/23(金) 13:52:58.06
TSpeedButtonに色付けしたいだけなのですが、
このボタンはグレイ固定?
973デフォルトの名無しさん:2012/03/23(金) 14:05:18.44
うむ
974デフォルトの名無しさん:2012/03/23(金) 17:05:07.86
ボタンに色付けしたい*だけ*って表現をよく見るけど、テーマの適用とか考えると
*だけ*じゃなくて相当微妙な問題だってことを理解する必要があるわな。
Windows 7のAero Glassとかだとフォーカスがあるボタンのグラデーションは
実際にはアニメーションしてたりするわけで。
975営利利用に関するLR審議中@詳細は自治スレへ:2012/04/06(金) 10:20:24.21
C++Builder2007なんだけど
起動するたびにツールパレットが非表示になってて使いづらいWin7
XPだと毎回起動してもちゃんと表示されてんだけど
これどこで消えないように設定するの?
976デフォルトの名無しさん:2012/04/13(金) 10:59:29.15
gif画像を表示させるにはどうしたらいいの?
977デフォルトの名無しさん:2012/04/13(金) 11:41:37.02
uses
 GIFImg;
978デフォルトの名無しさん:2012/04/13(金) 13:52:54.45
デルファイ厨は消えてください^^
979デフォルトの名無しさん:2012/04/13(金) 16:22:49.42
TMemoryStreamで読み込んだjpg画像をTJPEGImageにぶち込んで
ファイルに保存したらファイルのサイズが0になってしまう・・・
jpg->LoadFromStream( memorystream );
jpg->SaveToFile( ExtractFilePath( Application->ExeName ) + "aaa.jpg" );
ちなみに、memorystreamをそのままファイルに保存したらちゃんとjpg画像として見れますし
上のjpgをAssignしてbmpにしてファイルに保存してもちゃんとみれます。
なんでjpg->SaveToFileはダメなんですか??
980デフォルトの名無しさん:2012/04/13(金) 16:32:34.97
でけた。
お前等ってほんと糞の役にも立たない屑だなw
981デフォルトの名無しさん:2012/04/13(金) 20:37:09.42
と言われてもGDI+32叩いて作ってしまったしなぁ・・・
982デフォルトの名無しさん:2012/04/13(金) 21:06:21.32
>>980を翻訳すると「保守age」だよ
983デフォルトの名無しさん:2012/04/14(土) 16:32:43.55
>>978
C++なんかやめてdelphiに来い。
格式高きPASCALの世界へ。
->も.ですむよ。
984デフォルトの名無しさん:2012/04/14(土) 16:49:18.73
それならC#でもよくね?

てか、begin-end書きたくないって欲求のほうが勝るんじゃ無いかとw
985デフォルトの名無しさん
C++脳だと、begin end と :=
で頭ウニになりそうになる