C++Builder相談室 Part19
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/08/01(金) 16:30:32※2008/07よりCodeGear(Borland IDE/DB部門)はBorlandからEmbarcaderoに移動しました
【前スレ】
C++Builder相談室 Part18
http://pc11.2ch.net/test/read.cgi/tech/1188607282/
過去スレ・関連サイトは>>2-7あたり。
※Borland C++ Compiler 5.5.1についての質問は以下のスレへ
タダで使えるBorland C++ Part5
http://pc11.2ch.net/test/read.cgi/tech/1135127048/
※BDS(Borland Developer Studio)の総合スレはこちら
Borland Developer Studio 2006 No.13
http://pc11.2ch.net/test/read.cgi/tech/1175861395/
※CodeGear(Borland/Embarcadero)関連はこちら
【CodeGear】Embarcaderoオッチャ その10
http://pc11.2ch.net/test/read.cgi/tech/1216250111/
<関連スレ>
くだすれC++Builder(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1171219191/
[Tips]Borland C++Builder ちょいテク No.01
http://pc11.2ch.net/test/read.cgi/tech/1154580209/
【Delphi】 Indyコンポーネント 【C++Builder】
http://pc8.2ch.net/test/read.cgi/tech/1093654251/
0474デフォルトの名無しさん
2009/04/08(水) 14:58:340475デフォルトの名無しさん
2009/04/08(水) 15:07:25ログもちゃんと読めない馬鹿はレスしないで下さいね。
お前みたいな奴のレスなんて期待してませんから^^
0476デフォルトの名無しさん
2009/04/08(水) 15:20:33何か変わったことはやってますか?
たとえば、古いバージョンと共存させたりしているとか、
ダイレクトXを使っているとか。
0477デフォルトの名無しさん
2009/04/08(水) 15:39:000478デフォルトの名無しさん
2009/04/08(水) 15:53:200479デフォルトの名無しさん
2009/04/08(水) 16:03:36あ、するどいですね!
DirectShow使ってます。
>>475
フォローありがとん
0480デフォルトの名無しさん
2009/04/08(水) 16:13:20>>471のヒント有難うございました。解決しました。
Project1.bdsproj をクリーンにするには,新たに簡単な
VCLアプリケーションを作って別のフォルダーに保存し,
そこにある unit1.cpp, unit1.dfm, unit1.h に前のものを
上書きして再コンパイルすればよいことも分りました。
数週間来の憂鬱から開放されました。
再度お礼申上げます。
0481デフォルトの名無しさん
2009/04/08(水) 16:30:24いやな仕様だね。
0482デフォルトの名無しさん
2009/04/08(水) 16:57:39strsafe.h をインクルードしてるかどうかチェックしてみて。
多分それじゃないかなぁ?
そのヘッダの中を覗いてみ。
0483デフォルトの名無しさん
2009/04/08(水) 17:16:22確かにDShow.hにstrsafe.hがインクルードされてました!
んでその中を見るとなにやらwsprintf等のAPIを
#undefしたり#defineしたり怪しい事やってますね・・・
0484デフォルトの名無しさん
2009/04/08(水) 17:23:50それはセキュリティ的に非推奨のメソッドを削除しちゃってくれてる。
使わないか、ヘッダを変更するかはあなた次第。
0485デフォルトの名無しさん
2009/04/08(水) 17:29:48なるほど原因がわかってスッキリしました!
ありがとうございます。
0486デフォルトの名無しさん
2009/04/13(月) 13:04:49エクスプローラが落ちた際に、自動的に復活するにはどうしたらよいのでしょうか?
0487デフォルトの名無しさん
2009/04/13(月) 13:14:14なんか登録状態を取得する方法あると思うけど
それを処理する。
どんなメッセージかは覚えてない。
0489デフォルトの名無しさん
2009/04/13(月) 14:56:29しかも曖昧なことしか言ってないし
0491デフォルトの名無しさん
2009/04/13(月) 16:16:580492デフォルトの名無しさん
2009/04/13(月) 16:29:09つhttp://hp.vector.co.jp/authors/VA000092/win32/misc.html
0493デフォルトの名無しさん
2009/04/13(月) 19:00:410494デフォルトの名無しさん
2009/04/14(火) 10:07:190495デフォルトの名無しさん
2009/04/14(火) 10:09:490496デフォルトの名無しさん
2009/04/14(火) 14:24:04するにはどうしたらよいのでしょう?
現在フォームにMainMenuを貼っています。
フォームがアクティブの時は黒で、非アクティブの時は薄いグレーで表示されますが、
常にメニューの色は黒にしておきたいのですが、どなたか方法をご存知の方いらっしゃいませんか?
0497デフォルトの名無しさん
2009/04/14(火) 14:25:360498デフォルトの名無しさん
2009/04/14(火) 14:34:57Windows のコントロールの機能なので、自前で描画するしかないような気がする。
0499taguti
2009/04/14(火) 15:36:53(x1、y1)(x2、y2)(x3、y3)を頂点に持つ三角形の面積を計算して、その値を表示するプログラムを作成してください。
・公式:底辺x高さ÷2を使って計算してください。
お願いします!!
0500デフォルトの名無しさん
2009/04/14(火) 15:41:26できない。どうしてもやりたいならツールバーでメニューを構成すること。
0501デフォルトの名無しさん
2009/04/14(火) 15:55:47宿題スレでも池
0502デフォルトの名無しさん
2009/04/14(火) 15:58:20マルチ乙
http://pc12.2ch.net/test/read.cgi/tech/1237091698/493
http://pc12.2ch.net/test/read.cgi/tech/1232055225/770
http://pc12.2ch.net/test/read.cgi/tech/1217575832/499
http://pc12.2ch.net/test/read.cgi/tech/1235927586/774
http://pc12.2ch.net/test/read.cgi/tech/1212498448/876
http://pc12.2ch.net/test/read.cgi/tech/1212409946/66
http://pc12.2ch.net/test/read.cgi/tech/1217575832/499
http://pc12.2ch.net/test/read.cgi/tech/1192201659/808
http://pc12.2ch.net/test/read.cgi/tech/1205156417/821
http://pc12.2ch.net/test/read.cgi/tech/1238032584/16
http://pc12.2ch.net/test/read.cgi/tech/1224719784/934
0503デフォルトの名無しさん
2009/04/15(水) 14:24:20けっこう時間かかるの?
0504デフォルトの名無しさん
2009/04/15(水) 21:29:06関連してないと思う。
0505デフォルトの名無しさん
2009/04/15(水) 23:03:56バージョンアップ版インストールするのにユーザーIDとか必要なんじゃないの?
0506デフォルトの名無しさん
2009/04/16(木) 00:07:58購入は直販してたときはチェックされてたけど今はどうだろ?
直接電凸か公式フォーラムで聞いてみたら?
0507デフォルトの名無しさん
2009/04/16(木) 10:08:43以下のエラーが表示される
[ILINK32 エラー] Error: 未解決の外部参照 '__fastcall Inglobalprotocols::
CopyFileTo(const System::UnicodeString, const System::UnicodeString)' が
D:\C_SOURCE\CRHENKAN2\DEBUG_BUILD\UNIT1.OBJ から参照されました
プログラム内でIndy10内のCopyFileTo関数を使用している。
エラーの原因は
1.Indy10のライブラリがないか、
2.リンク指定時にIndy10のライブラリを指定してないか
だど思う。
これに対処の仕方を分かっている方がおられるなら、教えて下さい。
環境については、デフォルトのままである。
0508デフォルトの名無しさん
2009/04/16(木) 11:08:01以下のエラーが表示される
[ILINK32 エラー] Error: 未解決の外部参照 '__fastcall Inglobalprotocols::
CopyFileTo(const System::UnicodeString, const System::UnicodeString)' が
D:\C_SOURCE\CRHENKAN2\DEBUG_BUILD\UNIT1.OBJ から参照されました
プログラム内でIndy10内のCopyFileTo関数を使用している。
エラーの原因は
1.Indy10のライブラリがないか、
2.リンク指定時にIndy10のライブラリを指定してないか
だど思う。
これに対処の仕方を分かっている方がおられるなら、教えて下さい。
プログラミング環境については、デフォルトのままである。
0509デフォルトの名無しさん
2009/04/16(木) 11:56:17以下のエラーが表示される
[ILINK32 エラー] Error: 未解決の外部参照 '__fastcall Inglobalprotocols::
CopyFileTo(const System::UnicodeString, const System::UnicodeString)' が
D:\C_SOURCE\CRHENKAN2\DEBUG_BUILD\UNIT1.OBJ から参照されました
プログラム内でIndy10内のCopyFileTo関数を使用している。
エラーの原因は
1.Indy10のライブラリがないか、
2.リンク指定時にIndy10のライブラリを指定してないか
だど思う。
これに対処の仕方を分かっている方がおられるなら、教えて下さい。
プログラミング環境については、デフォルトのままである。
0510デフォルトの名無しさん
2009/04/16(木) 13:17:120511デフォルトの名無しさん
2009/04/17(金) 11:01:010512デフォルトの名無しさん
2009/04/22(水) 14:56:29Imageの画像を回転させたいのですが、その時に枠も一緒に回転させたいと思っています。
リージョンの機能を使えば枠の形を変形できるそうですが、角度等を細かく指定することはできますでしょうか?
調べてみたところ、決まった形を組み合わせることは出来るようですが、四角い枠に角度を指定して回転させることはできませんでした。
よろしくお願いします。
0513デフォルトの名無しさん
2009/04/22(水) 17:39:56WinAPIのGDI関連のリージョン?
あれ、自由フォーマットにするには
ライン単位で切ったリージョンを合成するしかないよ。
0514デフォルトの名無しさん
2009/04/22(水) 21:36:09何をしたいのかよくわからん。枠って何?リージョンってのは形状だけのデータで、
クリッピングという行為に使えるというだけ。画像の一部をクリップしたものを任意の角度で
回転したいということなのかな?それなら元画像をリージョンでクリップしたものと
それ以外の部分に分けて、クリップしたものを回転して、合成すればいいんじゃない?
とエスパーしてみる。
0515デフォルトの名無しさん
2009/04/22(水) 21:52:37そしたら回転を表す行列で座標変換したらどうか?
画面のちらつきはダブルバッファで抑えるとして
0516デフォルトの名無しさん
2009/04/24(金) 13:26:27QC見ると直したみたいな事になってるんだけど違うんだろうか。
0517デフォルトの名無しさん
2009/05/01(金) 07:40:41C++Builderは似たような機能ってついてますか?
0518デフォルトの名無しさん
2009/05/01(金) 23:51:400519デフォルトの名無しさん
2009/05/10(日) 21:06:09これを黒にする方法がありますか。
0520デフォルトの名無しさん
2009/05/10(日) 21:09:19それ以外の方法はない。
0521デフォルトの名無しさん
2009/05/10(日) 22:03:36コンパイルしちまえば?
0522デフォルトの名無しさん
2009/05/10(日) 22:16:160523デフォルトの名無しさん
2009/05/11(月) 17:49:08呼び出し履歴のような、関数実行ログという感じの
関数名をファイル出力する機能を作りたいです。
関数ごとに処理を記述するのではなくて、出来るだけ少ない記述で
実現したいです。
例外処理が発生した時のトレースが出来ればと。
意味分かんないようでしたらすみません。
0524デフォルトの名無しさん
2009/05/11(月) 20:18:35try/catchをちゃんと記述すべきだろ。
0525デフォルトの名無しさん
2009/05/11(月) 20:28:22デバッガ上で確認じゃ駄目なん?例外の発生は設定次第で記録されるはず。
もうすこし具体的に状況を説明するといい方法がでてくるかもね。
0526デフォルトの名無しさん
2009/05/11(月) 20:29:53関数特有の例外ならいいけどメモリ違反とかさ。
予測していない例外の場合はつぶしておきたいと。
0527デフォルトの名無しさん
2009/05/11(月) 20:49:230528デフォルトの名無しさん
2009/05/11(月) 22:02:28DynamicArrayをPascalでSetLengthしてるとブーブー言うんだがバグか?
0529523
2009/05/11(月) 22:22:14526さんの言われている通り、どの関数で例外が出ているのかを知りたいです。
制御系ソフトのコンソール部をBuilder2009で作っています。
そのソフトは長時間(1週間以上)起動しているためか、最初の頃は出ない
読み込み違反等の障害メッセージが突如出てしまいます。
524さんが言われる通り、try/catchを記述すればいいのですが、
関数も多くなってきて、出来るだけソースを短く出来ればと考えています。
527さんの入れているCodeguardも考えたのですが、リリース版などでは
重くなると聞いたもので。
分かりづらくてすみません。
0530デフォルトの名無しさん
2009/05/12(火) 00:03:45マップファイルでも出せばアドレスはわかるんでないのかな
0531デフォルトの名無しさん
2009/05/12(火) 00:53:19そしてあやしそうなところだけでも、catchすればいいのでは。
0532デフォルトの名無しさん
2009/05/12(火) 01:10:55ぬるぽ読み込み違反とかのWin32例外だろ。
「xxxxの命令がnnnnのメモリを参照しました云々」てやつ。
xxxxがわかるならどこで違反してるかもわかるでしょ。
0533デフォルトの名無しさん
2009/05/12(火) 01:28:37CodeGuard掛ければ一発じゃん
0534デフォルトの名無しさん
2009/05/12(火) 21:03:220535デフォルトの名無しさん
2009/05/13(水) 15:40:050536デフォルトの名無しさん
2009/05/14(木) 00:14:350537デフォルトの名無しさん
2009/05/14(木) 11:36:50ってのがhppで
#define AAA L"\x82\xa0\x82\xa0\x82\xa0"
ってなって代入しても元に戻らないの
とりあえずconst:Pchar='' にしといたが不便だ
0538デフォルトの名無しさん
2009/05/14(木) 18:34:400539デフォルトの名無しさん
2009/05/14(木) 18:36:15sprintf(str, "%Ld", int64);
0540デフォルトの名無しさん
2009/05/14(木) 18:50:32このブタ野郎っ!
できました!ありがとう
0541デフォルトの名無しさん
2009/05/15(金) 20:57:00TPrinterで印刷するのはめんどくさいし、
プリビューとかもできないので、
TQuickReportを使えないかと思うのですが、
Datasetの設定をどうにかごまかそうとしている
#じゃないと印刷してくれない模様
のですが、その方法が見つけられません。
お知恵をおねがいします。
0542デフォルトの名無しさん
2009/05/15(金) 21:00:09あ、すみません、BCB5です。
よろしくおねがいします。
0543デフォルトの名無しさん
2009/05/16(土) 01:18:36TQRMemoに全部吐け
0544デフォルトの名無しさん
2009/05/16(土) 11:39:540545デフォルトの名無しさん
2009/05/16(土) 15:20:30どうしてもしたいんならchar*にキャストすれば
0546デフォルトの名無しさん
2009/05/16(土) 16:01:25レスありがとうです。
その方法は最初に試しました。
が、QuickRep1->Print()とかしても何も印刷しなかったですし、
QuickRep1->Preview()しても何も表示しないので、
マニュアルのヘルプにあるようにてっきり
DatasetがActiveでないせいだとおもったのですが。
フォームにQuickReport張って、TQRMemo張って、
QuickRep1->Print()だけでは設定が足りないですか?
0547デフォルトの名無しさん
2009/05/16(土) 18:15:11レスありがとうございます。
とりあえず希望の動作になりましたが、いまいち仕組みがわかりません。
UnicodeString rcvBuf = Socket->ReceiveText();
wchar_t A = rcvBuf[1]; --> 0x2006
switch ( char(A) ) {
case LT_ACK:
処理A
break;
}
このときにchar(A)は0x06となって希望の動作をしますがrcvBuf[1]から0x20を
取得したい場合は、どうのようになるのでしょうか?
0548デフォルトの名無しさん
2009/05/17(日) 11:06:33QuickRepotはDelphi6でしか使ったこと無いから憶測だが、
TQRStringsBandを使うのがポイントだと思う
1) 新規作成からレポートを作成
2) TQRStringsBandを一つ貼り付ける。DetailBandは削除
3) レポート本体(TQuickReport)のFunctionsプロパティを見ると、
QRSTRINGSBAND1という変数が出来ているはずなので確認。
4) 1)のバンドにTQRExprを貼り付ける
5) QRExprのExpressionに"QRSTRINGSBAND1"をセット
(意味がわからなければTQRStringsBandのヘルプ見れ)
6) 印刷する時は次のように
qrep = new TQuickReport1(this):
qrep->QRStringsBand1->Items->Assign(Memo1->Lines);
qrep->Print();
delete qrep;
0549デフォルトの名無しさん
2009/05/17(日) 11:21:52char* pa = (char*)&A;
pa[0];//0x06
pa[1];//0x20
だが、そもそもReceiveTextを使ってる時点で間違ってる。
最初からReceiveBufを使ってchar配列に取り込めば余計な事考えずに済む。
0550デフォルトの名無しさん
2009/05/18(月) 09:44:48できました!ありがとう
勉強になりますた。
0551デフォルトの名無しさん
2009/05/18(月) 12:16:19>TQRStringsBandを使うのがポイントだと思う
これでした。
で、TQRStringsBand#Itemsをいくつか登録すると、
その数だけTQRStringsBandの内容が繰り返されました。
ここから暫くは自力でいけそうです。
ありがとうです。
0552デフォルトの名無しさん
2009/05/18(月) 15:00:28BluetoothApis.hってのが必要なようなのですが、
何処で手に入るのでしょうか
ググってもVSの記事ばっかりで、
VSはたぶん最初から入ってるんですよねきっと。
もしかしてBCB5ではムリですか?
0553デフォルトの名無しさん
2009/05/18(月) 15:46:45求めているのはRFCOMMというものらしいです。
テキスト通信がしたいだけなのですが、
なんだかムズすぎです;
0554デフォルトの名無しさん
2009/05/18(月) 22:49:40Delphiなら
Project JEDI API Header Library
ttp://www.delphi-jedi.org/apilibrary.html
にあるけど、C++Builderの場合はWDKなのかな?
WDK の入手方法
ttp://www.microsoft.com/japan/whdc/DevTools/WDK/WDKpkg.mspx
0555デフォルトの名無しさん
2009/05/19(火) 09:30:55惜しい。そのものな感じのがありますね。> JEDI
.pasだから読めるかなと思ったのですが...orz
0556デフォルトの名無しさん
2009/05/19(火) 11:19:44Windows Platform SDKに含まれていました。
サンプルコードのコメントが沢山あるので、
これでなんとかなるカモ。
0557デフォルトの名無しさん
2009/05/19(火) 11:23:23レポート希望
0558デフォルトの名無しさん
2009/05/19(火) 12:24:04BluetoothApis.hでは、
Radio Enumuration, Device Enumuration, Radio Authenticationなど
ができるだけでした。
そこから先はソケットを使う模様です。
わかんないことばっかしでメゲそう orz
0559デフォルトの名無しさん
2009/05/19(火) 12:43:29Bluttooth使うのって難しいの?
使う予定あるんだけど。
0560デフォルトの名無しさん
2009/05/19(火) 13:18:56ヘルプでページ内のリンクを開いた後、「戻る」ボタンで戻ってくると
必ず戻ってきたページの先頭にスクロールがリセットされるんだけど、
これって仕様?
使い難くって仕方ない
0561デフォルトの名無しさん
2009/05/19(火) 13:34:09ただ、1つ1つのクラス仕様は小さくて見やすいんじゃないかと。
0562デフォルトの名無しさん
2009/05/19(火) 15:24:07あまりに糞すぎる
0563デフォルトの名無しさん
2009/05/19(火) 15:47:51軽いし、例もあったし
0564デフォルトの名無しさん
2009/05/19(火) 16:06:12ムズイです。
SocketがOKな人は平気なのかもしれないですけど、
ググっても引っ掛からない理由が判る気が。
途中からはTSocketで...ってワケにはいかないのかな。
ってどっちみちSocketわかんないから同じか。orz
0565デフォルトの名無しさん
2009/05/19(火) 16:26:070566デフォルトの名無しさん
2009/05/19(火) 16:41:16使いにくいヘルプは仕様なのね、残念
もうひとつ教えて
hとcppだけある状態で独自のコンポーネントってインストールできる?
bplにビルドしないと駄目?
0567デフォルトの名無しさん
2009/05/19(火) 16:59:07は2009での質問です。
6向けの「コンポーネント活用ガイド Vol2」にはhとcppだけ指定して
追加する方法が書かれていますが、2009では通用しないです
0568デフォルトの名無しさん
2009/05/21(木) 14:23:180569デフォルトの名無しさん
2009/05/21(木) 15:04:060570デフォルトの名無しさん
2009/05/21(木) 15:04:420571デフォルトの名無しさん
2009/05/21(木) 15:08:07それでもできますか?
0572デフォルトの名無しさん
2009/05/21(木) 15:12:19その自作クラスが Classes::TComponent の派生ならOK。
どうしてもならTApplicationでも渡しておけばいいし。
0573デフォルトの名無しさん
2009/05/21(木) 15:18:28あ、違います・・
何からも発生してないうんこクラスです。。
でも、そこら辺をあれするとできそうですね。
ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています