C++Builder相談室 Part18
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/09/01(土) 09:41:22【前スレ】
C++Builder相談室 Part17
http://pc11.2ch.net/test/read.cgi/tech/1162918887/
過去スレ・関連サイトは>>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)関連はこちら
【Borland】CodeGearオッチャ その5【(ノ∀`)アチャー】
http://pc11.2ch.net/test/read.cgi/tech/1186333161/
0412デフォルトの名無しさん
2008/02/09(土) 17:43:420413デフォルトの名無しさん
2008/02/09(土) 17:55:330414デフォルトの名無しさん
2008/02/09(土) 18:08:35言ってんじゃないの?
何、その日本語より英語は楽とかとう例え。頭悪そう。
0415デフォルトの名無しさん
2008/02/09(土) 18:13:110416デフォルトの名無しさん
2008/02/09(土) 19:49:34.NET系の生産効率の高さは周知だよ
C#に限らずVBでもC++/CLIでもね
WinForm使う限りGUIはラクチン
CGもついてるし
なんだけどね……
初学者がいきなりVC+MFCは敷居高すぎるのは確か
BCBなんかでC/C++に慣れてから
MFC+Win32APIの海へ漕ぎ出した方がいい
0417デフォルトの名無しさん
2008/02/09(土) 20:44:03マジでそれが理想だけど色々と面倒だよね、あるプロジェクトだけで使えるコンポーネント
とか簡単に指定できればいいのに
0418デフォルトの名無しさん
2008/02/09(土) 21:31:360419デフォルトの名無しさん
2008/02/09(土) 22:00:360420デフォルトの名無しさん
2008/02/10(日) 01:06:340421デフォルトの名無しさん
2008/02/10(日) 02:52:190422デフォルトの名無しさん
2008/02/10(日) 08:03:03これをやる必然性が0。
>.NET系の生産効率の高さは周知だよ
大丈夫、ドトネトの事は世の中に知られてないから。
>C#に限らずVBでもC++/CLIでもね
これもウソ。
C丼のバージョンうp嵐どころか、managed C++がヒックリかえったね。
ブビに至ってはユーザーがいないから、スクリプトブビ@ドトネトを復活させるとか、割るいとこ鳥。
0423デフォルトの名無しさん
2008/02/10(日) 09:17:210424デフォルトの名無しさん
2008/02/10(日) 14:18:49次こそはやっと完全にUnicode対応するそうだけど、おせーよw
0425デフォルトの名無しさん
2008/02/10(日) 14:25:280426デフォルトの名無しさん
2008/02/10(日) 14:29:250427デフォルトの名無しさん
2008/02/10(日) 17:58:28今でも使ってるよ。
0428デフォルトの名無しさん
2008/02/11(月) 00:03:36また、いちいちプロジェクトファイル編集しなきゃ駄目なのか。
必要ないのに使ってないコンポーネントのlibまで追加するのやめてくれないかなぁ、うざすぎる。
0429デフォルトの名無しさん
2008/02/11(月) 00:20:130430デフォルトの名無しさん
2008/02/11(月) 00:20:44後からのことまーったく考えられてないw
0431デフォルトの名無しさん
2008/02/12(火) 15:15:590432デフォルトの名無しさん
2008/02/12(火) 15:16:50/ .:/ ハ: :!: :.:ト、:.:. :\:...l:.. :}: : |_⊥ 、
j . {: .:{ :l、:l、: :.ト-ヽ、_:..`ヽ、j__イ_つノ
l 1:ハ.::{ゝl=くヽ:.ヽ トィjr}Tァ┬ァ:.:´|
|ハ :ヽlァ{トィrj \i ー_'っ /:.イ-、:。:|
ヽ。ハ^rぅ' 丶 ` ノ', く } }:.ol゜ o
。 `ハ 。 {ァ´ヽ ,ー o':.へl お客様の中にエスパー様は
゜ ´ノi\ ー' ィ:;:.ィ/|/゜ 。 いらっしゃいませんか??
。 o 。 ゜ハヘ;:>ー--<_rv〈、_
/ ̄ヽ \/ll }l}`'^'ト、
/ ::Y77l j l !_`7
l, ---::、〉 jl l ハゝ-i
ヽ Vi } ,' ノ, ー_ヽ
} , -‐ァl ノ / レ´,.- j
j イ !l / / ハ -,.く!
0433デフォルトの名無しさん
2008/02/12(火) 15:23:580434初心者
2008/02/15(金) 13:57:33デバッグモードで実行して
open dialog を開いて
詳細表示にすると
builder が落ちちゃう。
0435デフォルトの名無しさん
2008/02/15(金) 14:04:580436デフォルトの名無しさん
2008/02/16(土) 00:33:190437デフォルトの名無しさん
2008/02/22(金) 19:35:04RAD Studioは今更JSharpのランタイムが必要とか、トチ狂ったことぬかすので
あまり入れたくありません
0438デフォルトの名無しさん
2008/02/22(金) 23:17:33Turbo C++ Explorerでも同じこと。あきらめれ。
0439デフォルトの名無しさん
2008/02/23(土) 12:06:26MSですら早々に見捨てたのにw
0440デフォルトの名無しさん
2008/02/23(土) 15:10:160441デフォルトの名無しさん
2008/02/24(日) 09:03:080442デフォルトの名無しさん
2008/02/25(月) 14:45:13http://codezine.jp/a/article.aspx?aid=197
ここを参考にIndy9のdelphiソースをIndy10とBuilder2007に置き換えようとしています。
TCPサーバの例 以下行をどう記述すればよいのでしょうか。詳しい人教えてください。
// 接続しているクライアント全員に str を送信する
procedure TForm1.BroadcastMessage(str : string);
var
Count: Integer;
List : TList;
begin
List := IdTCPServer1.Threads.LockList;
try
for Count := 0 to List.Count -1 do
try
TIdPeerThread(List.Items[Count]).Connection.Write(str);
except
TIdPeerThread(List.Items[Count]).Stop;
end;
finally
IdTCPServer1.Threads.UnlockList;
end;
end;
0443デフォルトの名無しさん
2008/02/26(火) 17:55:530444デフォルトの名無しさん
2008/02/26(火) 22:54:58使い方が悪いんでしょうか?
型を変えてみようとは思うけど、知ってる方いたら教えていただきたい
std::vector< bool > vectorbool;
for( int i = 0 ; i < 12 ; i++ )
vectorbool.push_back( true );
vectorbool.insert( vectorbool.begin(), false );
bool test = vectorbool[12]; ← falseが帰ってくる。
0445デフォルトの名無しさん
2008/02/26(火) 23:44:17簡単にはいかないんじゃないかなぁ。ListView_DeleteColumn/ListView_InsertColumnの
組み合わせで頑張るしかないと思う。
0446デフォルトの名無しさん
2008/02/27(水) 10:47:50Width=0
>>444
あたりまえの結果じゃん。
マジで理解できなのか、それとも釣りなのか?
マジで理解できないのなら、初心者スレに逝った方が良し。
0447デフォルトの名無しさん
2008/02/27(水) 10:55:470448デフォルトの名無しさん
2008/02/27(水) 11:08:47当たり前の結果なの?
もう一度勉強してみるよ・・。
0449デフォルトの名無しさん
2008/02/27(水) 11:16:19それとは関係なくvector<bool>は使わないほうがいいと、
なんかの有名な本に書いてるらしい。
0450デフォルトの名無しさん
2008/02/27(水) 11:23:24kwsk
0451デフォルトの名無しさん
2008/02/27(水) 12:06:02&v[0] が bool* ではない
0452デフォルトの名無しさん
2008/02/27(水) 13:25:42Effective STLの第18項だな
vector<vool>はproxy classを使っているのでよくないんだと
0453デフォルトの名無しさん
2008/02/27(水) 13:26:49サンクス & kwsk
0454デフォルトの名無しさん
2008/02/27(水) 13:36:38More Effective C++ 項目30
一般的にはクラスの中にクラスを作って普通ではできないような
操作を行う。
0455デフォルトの名無しさん
2008/02/27(水) 14:56:530456デフォルトの名無しさん
2008/02/27(水) 16:47:150457デフォルトの名無しさん
2008/02/27(水) 22:48:08ありがとう。
VCでやってみてもtrueでした。
なんとなくわだかまりが取れました。
0458デフォルトの名無しさん
2008/02/27(水) 22:49:50こいつバグ多いねえ
0459デフォルトの名無しさん
2008/02/28(木) 14:15:17std::ostreamとstd::istreamから多重継承しています。
しかしstd::ostreamを受け取る関数にstd::fstreamのオブジェクトを
渡してCodeGuardを掛けると多量のエラーメッセージが実行時に
出ます。これって仕方ないのですか?
0460デフォルトの名無しさん
2008/02/28(木) 15:04:150461デフォルトの名無しさん
2008/02/28(木) 15:19:280462デフォルトの名無しさん
2008/02/28(木) 15:32:240463デフォルトの名無しさん
2008/03/01(土) 22:36:440464デフォルトの名無しさん
2008/03/02(日) 14:12:270465デフォルトの名無しさん
2008/03/03(月) 08:23:420466デフォルトの名無しさん
2008/03/03(月) 09:36:590467デフォルトの名無しさん
2008/03/03(月) 10:12:33数分放置しておくとソフトが落ちてしまいます。
やっていることは
Query->SQL->Clear( );
Query->SQL->Add( "select * from table1" );
Query->Open( );
Query->First( );
Query->Next( ); 30件くらい
Query->SQL->Clear( );
Query->SQL->Add( "select * from table2" );
Query->Open( ); ここで落ちます
Query->First( );
Query->Next( ); 10件くらい
と1つのモジュールで同じTQueryで2つのテーブルを読んでいます
TQueryを使う際になにか注意事項とかありましたら教えてください
0468デフォルトの名無しさん
2008/03/03(月) 10:15:17例外とかチェックした?
0469デフォルトの名無しさん
2008/03/03(月) 10:17:18>TQueryを使う際になにか注意事項
2秒以内に処理が終わらなかったら、処理をスルーするって工夫要るけど。
それに加えてQuery使いまわすんじゃなくて、作り直したら?
Query = new TQuery(this);
try {
Query->SQL->Clear();
//処理
__finally {
delete Query;
}
0470デフォルトの名無しさん
2008/03/03(月) 10:27:48try内でやっているのですがcatchにはいかずにそのまま落ちてしまいます
>>469
TTimerで2秒間隔でやっていてTimerに入るとタイマーを止めているので
一応DB読み込みが再度呼ばれることはありません。
Queryでテーブル2つを読むより毎回newしたほうがいいのでしょうか?
0471467
2008/03/03(月) 10:37:14Queryを2つにしてやってみたのですがやっぱり強制終了してしまいます
ソフト起動時に設定
Query1->SQL->Clear( );
Query1->SQL->Add( "select * from table1" );
Query2->SQL->Clear( );
Query3->SQL->Add( "select * from table2" );
{
Query1->Open( );
Query1->First( );
Query1->Next( );
Query1->Close( ); ここで必ず強制終了します
Query2->Open( );
Query2->First( );
Query2->Next( );
Query2->Close( );
}
0472デフォルトの名無しさん
2008/03/03(月) 10:40:441回多くNextしたりするとドカンと落ちる現象はあったような。
0473467
2008/03/03(月) 10:50:50可変ではありますが
query->First( );
for( int i = 0; i < query->RecordCount; i ++ ){
query->FieldByName
query->Next( );
}
としています・・・
ちなみに落ちる場所は同じなのですがタイミングはそれぞれで
1分で落ちる時もあれば5分で落ちる時もあります。
1回目で落ちるということは今のところありませんが・・・
0474デフォルトの名無しさん
2008/03/03(月) 10:52:56これ、マズイとオモ。
>while (!Query->Eof) {
みたく、次が有るか無いかの判定じゃないと。
上にも書いたが無いのにNextすると、catchできずにドカンと落ちる。
0475467
2008/03/03(月) 10:56:59うわー
やっぱりTQueryがまずいんじゃなくて処理がまずいですか・・・
今はレコード数に変化がなくその処理でレコード数が同じだったからいいとおもってましたが
見方がわるかったんですね、ありがとうございます。
その方法で試してみます。
0476467
2008/03/03(月) 11:06:02しかし>>474さんのやりかたはヘルプにも書いてあったので参考になりました。
ちなみにtable1の方のQueryをためしにnewして動的に作成してやってみたところ
今のところ落ちてないです。
うーん、設計時に追加したのと動的にnewしたものと何が違うのかなあ・・・
これtable2もnewで作成したqueryを使う方が安全なのかな・・・
0477デフォルトの名無しさん
2008/03/03(月) 11:11:49してる最中に、該当レコードが消えてる可能性は無いの?
該当レコードが消えるなら、RequestLive を falseにしてる方が良いかなぁ。
0478467
2008/03/03(月) 11:30:19レコードが消えることはありませんがRequestLiveはtrueにしてます・・・
やっぱりnewで作ったqueryでやると落ちないのですが
これってRequestLiveがfalseだからなのでしょうか???
ちょっと試してみます
0479デフォルトの名無しさん
2008/03/03(月) 11:33:28>RequestLiveがfalse
落ちる原因は分からないが、上記2つを揃えるQueryは氏ぬ程安定する。
0480467
2008/03/03(月) 11:43:17確かにnewでつくったqueryでは全く落ちなくなりました。
ちなみに、試しに当初のに戻して設計時に追加したqueryで
RequestLiveをfalseにしてやっているのですが
これもまた今のところ落ちていません。
これ2秒毎にDBを読んでいるのですが、DB読み込み時にnewするのと
起動時の最初にnewするのとどちらがいいでしょうか?
0481デフォルトの名無しさん
2008/03/03(月) 11:55:35Queryをグローバルとして使いまわしはソース読みにくかったりするが、上記2つは大差無いんでわ?
0482467
2008/03/03(月) 11:56:07RequestLiveをfalseにするだけで落ちなくなりました。
なんかこれ片方向しかあれとか書いてたからこれをtrueにしないと
書き込めないとおもってtrueにしてたのですが(この同じQueryで別タイミングで書き込みもしてます)
これselect時のみのあれだったんですね。
ちなみにUniDirectionalはtrueでいいのでしょうか?
メモリ節約になるとかかいてますので
0483デフォルトの名無しさん
2008/03/03(月) 11:57:26聞いた事歩けど、気にしたことは無い。
0484467
2008/03/03(月) 11:58:23そうなんですよね、グローバル化は見づらくなるのですが
なんというか2秒毎にnewしてdeleteしてって繰り返しても大丈夫なのかなとか・・・
1ヶ月とか放置するので何か昔のmallocのイメージがあってちょっと不安になったので
0485デフォルトの名無しさん
2008/03/03(月) 12:05:13大量のnewや大量のdeleteは性能に関係するかも知れないが、
2秒にnewとdelteの嵐なんてC++ではちょーふつーできごと。
0486467
2008/03/03(月) 13:08:40これはtrueのままでも落ちるのとは無関係みたいなのでそのままにしておきます。
>>485
あ、そうなんですか。それを聞いて安心しました。
まあVCL使ってると内部で山ほどしてるでしょうし問題ないですよね。
0487デフォルトの名無しさん
2008/03/03(月) 13:10:45正しくは、
>超大型メモリのnewやdeleteは
かな。
0488デフォルトの名無しさん
2008/03/04(火) 01:01:59メモリの利用箇所が虫食いになって最後は使えなくなるという。
これは今の組み込みや、昔のPCのようにメモリ容量の制限がキツイと困る問題だけど
必要なメモリの何10倍もある現代のパソコンでは問題にならない。
0489デフォルトの名無しさん
2008/03/04(火) 02:14:05そう信じてnew-deleteしまくってます。。。
0490デフォルトの名無しさん
2008/03/04(火) 03:19:280491デフォルトの名無しさん
2008/03/04(火) 07:24:38こういう例もありましてね
ttp://www.yoshidam.net/diary/200410.html#d05
0492デフォルトの名無しさん
2008/03/04(火) 08:44:15>メモリの利用箇所が虫食いになって最後は使えなくなるという。
コンパイラが、スタックエリア、ヒープエリアを確保しているだろうから、それはない。
0493デフォルトの名無しさん
2008/03/04(火) 18:18:240494デフォルトの名無しさん
2008/03/05(水) 08:15:120495デフォルトの名無しさん
2008/03/05(水) 10:24:540496デフォルトの名無しさん
2008/03/05(水) 16:44:19でも俺は知ってるからレスしました。ヘルプを見なさい。
0497デフォルトの名無しさん
2008/03/05(水) 22:30:41ヘルプ読めないなら来ないで邪魔です
0498デフォルトの名無しさん
2008/03/06(木) 08:03:091. 読まない ・・・説明書などを読まない。読む気などさらさらない。
2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
5. 環境のせいにする ・・・自分が悪いのではなく環境が悪いと責任転嫁する。
6. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。
7. バカだから ・・・バカだから。
0499デフォルトの名無しさん
2008/03/06(木) 10:31:56BorlandC++Builder6を使用しています。
コンポーネントの端に「Office2k」があって、Work,Excel,Access等の制御ができそうなものがあります。
ヘルプやキーワードにも見当たらず、使い方がいまいちわかりません。
田舎にしては大きな本屋で調べても、「Office2k」に関するものはみあたりませんでした。
てか、Borland自体少ないですし。
どこかにリファレンスや参考になる資料はないでしょうか。
教えてください。
お願いします。
0500デフォルトの名無しさん
2008/03/06(木) 10:35:15使用したいOfficeはAccessです。
ごめんなさい。。
0501デフォルトの名無しさん
2008/03/06(木) 10:52:260502デフォルトの名無しさん
2008/03/06(木) 10:59:07Excelの使用サンプルはあったのですが、Accessで使用したいことに応用はできませんでした。
どのコンポーネントをどう使えば、どうなるのかさっぱりなんです。
皆様からみればアホみたいな事ですみませんが、なにか知っていることがあれば教えてください。
お願いします。
0503デフォルトの名無しさん
2008/03/06(木) 11:28:38具体的に何を実現したいのかさえわからないのかね。
0504デフォルトの名無しさん
2008/03/06(木) 11:31:31解りにくくてすみません。
0505デフォルトの名無しさん
2008/03/06(木) 11:40:44ぐぐったらいっぱい出てくるじゃん
0506デフォルトの名無しさん
2008/03/06(木) 11:56:000507デフォルトの名無しさん
2008/03/06(木) 12:25:300508デフォルトの名無しさん
2008/03/06(木) 12:27:57ぱっと見VBAのしか見当たらないけど。オブジェクトやメソッドの意味は調べられるし、
タイプライブラリから機械的にクラス作ってるだけだから、出来る事は同じはずda。
0509デフォルトの名無しさん
2008/03/06(木) 12:35:230510デフォルトの名無しさん
2008/03/06(木) 12:43:390511デフォルトの名無しさん
2008/03/06(木) 12:50:31すぎないから、ラッパークラスのメソッド名やプロパティ名は元のオートメーションサーバーのそれと
ほぼ同じはず。つまりは、VBやVBAとほぼ同じ。
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/arch_default.asp
から、「MSDN ライブラリ アーカイブ」->「Office ソリューション開発」たどれば、よろし。
■ このスレッドは過去ログ倉庫に格納されています