C++Builder相談室 Part18

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
C++Builderに関する質問・回答や議論等を行う相談室スレッド。

【前スレ】
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/
2デフォルトの名無しさん:2007/09/01(土) 09:43:56
<関連スレ>
http://pc11.2ch.net/test/read.cgi/tech/1135127048/
Borland Developer Studio 2006 No.13
http://pc11.2ch.net/test/read.cgi/tech/1175861395/
【Borland】CodeGearオッチャ その5【(ノ∀`)アチャー】
http://pc11.2ch.net/test/read.cgi/tech/1186333161/
くだすれ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/
3デフォルトの名無しさん:2007/09/01(土) 09:48:39
<関連サイト>
公式サイト
http://www.codegear.com/jp/products/cppbuilder
builder-ML 過去ログブラウザ
http://leed.issp.u-tokyo.ac.jp/~takeuchi/builder/browse.cgi
http://www.sfdata.jp/ML/cbuilder/newlog.php?ml=cbuilder
C++Builder メーリングリスト
http://www.sfdata.jp/ML/menu.php?ml=cbuilder
C++Builder ML
http://www.jpdoc.com/cbuilder/
nifty/Delphi & Borland Users Forum
http://fdelphi.info/
BCBWiki
http://wiki.livedoor.jp/a7m/d/FrontPage

<Update>
BDSアップデート
http://www.codegear.com/downloads/regusers/devstudio
BCB6/US SP1 は BCB6/JP 製品版に含まれています。
C++Builder 6 Update4 日本語版
C++Builder 6 Linker Update
http://www.codegear.com/downloads/regusers/cppbuilder
4デフォルトの名無しさん:2007/09/01(土) 09:51:59
<Tipsなど>
Borland C++Builder最新リンク2005(リンク集)
http://www2.famille.ne.jp/~akio1998/l_cpb.html
C++Builderのお部屋(Tips系)
http://www.ne.jp/asahi/nagoya/ahomaro/builder/
C++Builderによるプログラミング(Tips系)
http://www.geocities.co.jp/SiliconValley/7201/
BCB Tips(Tips系)
http://members.at.infoseek.co.jp/mchos/bcb_tips/
C++Builder Tips(Tips系)
http://www.geocities.co.jp/SiliconValley/4805/bcbtips/bcbtips000.htm
C++Builderのお部屋(Tips系)
http://www.ne.jp/asahi/nagoya/ahomaro/builder/index.html
Wininet Programing(Tips系)
http://www.geocities.co.jp/SiliconValley-PaloAlto/1512/
Dr.Bob's C++Builder Gate(Tips系)
http://www.drbob42.com/cbuilder/index.htm
猫でもわかるプログラミング(一般)
http://www.kumei.ne.jp/c_lang/
Delphian World(コンポーネントライブラリ)
http://norg1964.hp.infoseek.co.jp/delphianworld/
DelWiki 避難所。
http://delwiki.info/
5デフォルトの名無しさん:2007/09/01(土) 09:53:08
<ツール/コンポーネント>
<<フリー>>
フリーカーソル無効化アドイン
http://homepage1.nifty.com/fuu/software/nonfreecursor.htm
GExperts−IDE拡張
http://www.gexperts.org/
BorCVS - IDEにCVSを統合
http://borcvs.sourceforge.net/
Indy
http://www.indyproject.org/
JCL
http://homepages.borland.com/jedi/jcl/
JVCL
http://homepages.borland.com/jedi/jvcl/
TurboPower
http://sourceforge.net/users/tpsfadmin/
<<有料>>
TMS Component Studio
http://www.tmssoftware.com/
6デフォルトの名無しさん:2007/09/01(土) 09:53:54
<参考図書>
C++Builder 6コンポーネント活用ガイド&実践プログラミング
Vol.1
http://www.amazon.co.jp/exec/obidos/ASIN/4877830618
Vol.2 実践テクニック編
http://www.amazon.co.jp/exec/obidos/ASIN/4877830626
Vol.3 データベーステクニック編
http://www.amazon.co.jp/exec/obidos/ASIN/4877830634
Vol.4 インターネット編1
http://www.amazon.co.jp/exec/obidos/ASIN/4877831061
Vol.5 インターネット編2
http://www.amazon.co.jp/exec/obidos/ASIN/4877831088
Vol.6 グラフィックス・画像処理編1
http://www.amazon.co.jp/exec/obidos/ASIN/4877831231
Vol.7 グラフィックス・画像処理編2
http://www.amazon.co.jp/exec/obidos/ASIN/487783124X
※BCBの定番解説書。BCBを購入したけど何から勉強したら良いか
 判らないという人は取り合えずVol2から読みましょう。
※データベースやインターネット関連はDelphiの解説書も役に立ちます。
7デフォルトの名無しさん:2007/09/01(土) 10:05:01
<過去スレ (html化済)>
C++Builder相談室
http://piza2.2ch.net/tech/kako/969/969458279.html
新C++Builder相談室(C++Builder相談室 Part2)
http://pc.2ch.net/tech/kako/997/997074601.html
C Builder相談室 Part3
http://pc3.2ch.net/tech/kako/1016/10160/1016065855.html
C++Builder相談室 Part4
http://pc5.2ch.net/tech/kako/1035/10355/1035596146.html
C++Builder相談室 Part5
http://pc5.2ch.net/tech/kako/1045/10455/1045542179.html
C++Builder相談室 Part6
http://pc5.2ch.net/tech/kako/1054/10542/1054280736.html
C++Builder相談室 Part7
http://pc5.2ch.net/tech/kako/1061/10615/1061594556.html

<無償版>
Turbo C++ Explorer (C++Builder2006(10)相当)
http://www.turboexplorer.com/jp/cpp

116 名前:デフォルトの名無しさん[sage] 投稿日:2006/11/04(土) 17:25:13
ttp://beeography.wordpress.com/2006/09/12/just-wanna-let-you-know/
ここに書いてある方法でTurbo Exprorerでも合法にコンポ入れれるよ

117 名前:デフォルトの名無しさん[sage] 投稿日:2006/11/04(土) 18:02:21
あとこれ。
dclusr経由のコンポーネントインストールが、ライセンス違反かどうかの話。
ttp://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200609/06090014.txt
8デフォルトの名無しさん:2007/09/01(土) 10:08:40
・過去スレが行数オーバーになったのでhtml化されてない過去スレは削除
>>3にTurboC++入れ忘れ。とりあえず>>7に突っ込んだ。次スレで修正よろしく。
・404化したサイトを削除
9デフォルトの名無しさん:2007/09/01(土) 14:46:50
10デフォルトの名無しさん:2007/09/03(月) 11:08:22
>1

しかし過去スレ省くのはいかんぞ
html化してなくても見ることは可能なんだから

だれかPart8以降の過去スレアドレスあったらはっといて↓
11デフォルトの名無しさん:2007/09/03(月) 11:18:38
C++Builder相談室 Part8(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1070222674/
C++Builder相談室 Part9(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1080541814/
C++Builder相談室 Part10(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1089299158/
C++Builder相談室 Part11(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1094749339/
C++Builder相談室 Part12(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1099238936/
C++Builder相談室 Part13(html化待ち)
http://pc8.2ch.net/test/read.cgi/tech/1108468718/
C++Builder相談室 Part14(html化待ち)
http://pc8.2ch.net/test/read.cgi/tech/1116460578/
C++Builder相談室 Part15(html化待ち)
http://pc8.2ch.net/test/read.cgi/tech/1124614110/
C++Builder相談室 Part16(html化待ち)
http://pc8.2ch.net/test/read.cgi/tech/1138766165/
12デフォルトの名無しさん:2007/09/04(火) 14:55:19
文字列を暗号化・復元をする方法を教えてください
13デフォルトの名無しさん:2007/09/04(火) 16:57:48
暗号化<−>復号化
14デフォルトの名無しさん:2007/09/04(火) 18:38:06
×暗号化<−>復号化
○暗号化<−>復号
15デフォルトの名無しさん:2007/09/04(火) 18:51:45
× ×暗号化<−>復号化
○ ○暗号化<−>復号化
○ ○暗号化<−>復号
16デフォルトの名無しさん:2007/09/04(火) 22:40:26
2007の優待ハガキがまた来たが、まだの人で布施るつもりの人いる?
17デフォルトの名無しさん:2007/09/04(火) 23:11:28
うちもハガキ来たけどなぁ
なにがうれしゅうてBDSからBCB7に3万も出さなあかんのか
Delphiと合わせてこの値段なら検討もするがな

こうなると、BDSってのがどうしようもない鬼ッ子になってるなぁ
18デフォルトの名無しさん:2007/09/05(水) 12:40:49
ウチにも来てる。
BCBとDelphi両方の案内があるのに、注文の選択肢はなぜかDelphiしかない。(w
BCBもDelphiも6から全然バージョンアップしてないから、期限切れか?
特に不自由してないからたぶん買わないけど。
独身の頃なら買ったかも。
19デフォルトの名無しさん:2007/09/05(水) 13:21:07
Highlanderを思い切って安くしないと信者を大勢失いますぜCCさん。
20デフォルトの名無しさん:2007/09/05(水) 17:54:03
Rad Studio 2007 ってなに?
21デフォルトの名無しさん:2007/09/05(水) 18:56:02
フォームのコンストラクタで
ListView->Items->Clear( );
をやってもリストの内容がクリアされません
Showイベントでならクリアされるのですが、コンストラクタでクリアする方法を教えてください
BCB5
22デフォルトの名無しさん:2007/09/05(水) 20:33:03
DBX4に少し興味があるのだがどんなもんだろうなあ
BDS同様使わないの覚悟でバージョンアップしてみるか、迷うなあ
23デフォルトの名無しさん:2007/09/06(木) 04:07:28
BCB6 って Delphi と違って TDesigner の互換性がないよね?
24デフォルトの名無しさん:2007/09/06(木) 09:00:23
C++Builder2007のUpdate2で、pascalでWinSockがusesできるようになったが、
VCLの登録でアイコンが出ないバグは治ってないみたいだな.......

VCLを登録している.cbprojファイルの中身をみたら、最初に登録した時は
"Res Files="で.dcrファイルが登録されているのに、再度追加して保存すると、
"DCCRefarence="になってしまっていたよ。
現状は、保存後にC++Builder2007を終了して、"DCCRefarence="
を"Res Files="にエディタで修正してから再度開き直して、
その後にクリーン→再構築で何とか凌いではいるが、
これは早く直して欲しいモンだ......

というか、バグレポートを上げるのが英語じゃないといかんから、
英語が苦手なオレには上げられんし、このバグレポートが上がっているかも
HPのバグレポートの確認が面倒で分からん......
この辺りも早めにどうにかしてくれって思うなぁ......
25デフォルトの名無しさん:2007/09/06(木) 10:21:38
普通なら"DCCReference"だよな…保存ファイルのスペルミスが原因?w
2624:2007/09/06(木) 22:47:07
>>25
あ、"DCCRererence="か......
でも、そこは関係ないよ。オレがただ単にここに書き損じただけだからね。

まず、初期のVCL登録時は、"Res Files="になってて、その時はちゃんと
アイコンが出てるんよ。
で、その後追加登録して保存すると、"Res Files="が"DCCReference="
に勝手に変更になって保存されてて、そうなると今度はアイコン
が出なくなるんだよねんだよね......
あくまでも、オレがやってる事は、"DCCReference="を手動で"Res Files="
に変更してるって事。
こりゃ明らかにバグだろうさ。
本来、"DCCReference="で動くべきならば、そういう風に直して欲しいよ。
27デフォルトの名無しさん:2007/09/07(金) 09:37:33
スマン揚げ足取りするつもりじゃなかったんだ
でもそのスペルミスの才能には嫉妬する
DCCレレレンスは秀逸

まあ、クオリティレポートにもDCCReferenceに関する報告がいくつか上がってるみたいだし
対応を待つしかないかも知れんね、これは…
2824:2007/09/08(土) 18:34:50
>>27
オイラも気にしてはおらぬよ(w

とりあえず、クオリティレポートにDCCReferenceに関する報告
が上がってるなら、近いうちに修正されると信じたい所だねぇ......

そういえば、RadStudio2007へのアップグレードの手紙が来てたが、
これを買わないとこの辺りの修正版もないなんて事ないだろうな......
とかガクブルで考えてる漏れがいる......
29デフォルトの名無しさん:2007/09/11(火) 05:14:42
C++Builder5以来遠ざかっていたんだけど、2007が出るというので、
また情報を集めているんだけど。
DirectXへの対応って、相変わらずなんでしょうか?
COFF2OMF使えるものは良いとして、D3DXがねぇ....
30デフォルトの名無しさん:2007/09/11(火) 08:21:37
>>29
本体だけだとあいかわらずじゃない?
下ので行けると思うけど
ttp://clootie.narod.ru/cbuilder/index.html
31デフォルトの名無しさん:2007/09/11(火) 21:42:44
>>29
DirectX使うんだったらどうせVCLの恩恵も薄いんだから
VSで作ればいいだろ
BCB2007と違ってVSは安いしな
32デフォルトの名無しさん:2007/09/12(水) 00:42:59
>>30 >>31
情報ありがとうございます。
グラフィックを使用した学術研究用(流体力学系)のアプリを書くんで、
最新鋭のグラフィクスを使用しつつも、VCLの手軽さも必要なんですよね。
パラメータを変えながら演算をシミュレートするのが目的で、Direct3Dは
結果の目視確認用なんです。
VCは本末転倒でアプリ作るのが目的になりそうなので却下です。コーディ
ングそのものは目的ではないので....
結論として、現行のBCB5でもう少し様子を見てみることにします。
33デフォルトの名無しさん:2007/09/12(水) 00:44:24
C丼+Managed DirectXの手も
34デフォルトの名無しさん:2007/09/15(土) 17:32:45
あああああ何でTThreadはメモリリークするんだぁああああ・・・・。
35デフォルトの名無しさん:2007/09/15(土) 22:28:43
BCB5はしないよ。
BCB6からなんか仕組み変わったらしいよ。
36デフォルトの名無しさん:2007/09/15(土) 23:18:35
>>35
見事にBCB6でございます、ええ。
TurboC++でビルドしようと思ったらgifimaged7とpngdelphiを使ってるせいか
上手くビルドできず。
しょうがないのでマルチスレッドは封印して関数として呼び出す形にしました。。。
37デフォルトの名無しさん:2007/09/16(日) 00:50:23
使い回せばいいんだよ
38デフォルトの名無しさん:2007/09/16(日) 05:00:45
TThreadなんか使わなくてもWinAPIで書いちゃった方が早くない?
39デフォルトの名無しさん:2007/09/16(日) 08:32:56
_beginthreadというのもありましてね
40デフォルトの名無しさん:2007/09/16(日) 12:53:18
_begintreadex と _endthreadex なんか使ってやるといいよ。
Borland のソースは、多分、ハンドル閉じ忘れてんだろうなぁ〜
41デフォルトの名無しさん:2007/09/16(日) 12:58:48
posix のスレッドとか使えると便利だけどね。
42デフォルトの名無しさん:2007/09/16(日) 12:59:28
相手は Windows だし…
43デフォルトの名無しさん:2007/09/16(日) 14:06:59
BCB6あたりから、マイクロソフトに人材引き抜かれた後だから、
ソースとかガタガタになっていてもおかしくないな。
44デフォルトの名無しさん:2007/09/16(日) 15:26:13
ヘジ等引き抜かれまくりでMSを訴えたの97年だから、初めからガタガタ
45本田:2007/09/16(日) 19:50:22
>>41

>Open Source
>POSIX Threads for Win32
http://sourceware.org/pthreads-win32/
46デフォルトの名無しさん:2007/09/16(日) 21:03:33
おまいら親切だな…
機能の実装が終わったらbeginthread調べて試してみるよ。
ありがとう+.(・∀・)。+
47デフォルトの名無しさん:2007/09/16(日) 21:58:14
IBXを使ったDB接続についての質問なんですが、キャラクタセットがUNICODE_FSS(UTF-8)のDBにShiftJIS外の文字ってIBX経由での出入力って無理でしょうか?
TIBDataSetのSQLまわりがことごとくAnsiStringだのTStringだので固められてるので‥‥

NTFS上のファイルパス突っ込みたいんですが、NTFSのファイル名がUnicodeなので万が一簡体漢字だのハングルだののパス突っ込まれても化けないようにしたいんですが(;゙゚'ω゚'):
48デフォルトの名無しさん:2007/09/16(日) 22:06:47
BLOBにしちゃえ。
4941:2007/09/16(日) 22:15:52
>>45
へーこんなのがあったんだ。
どうもありがとう。
mutexも使えるなんてなかなかお通だね。
Win32 でふぉだと引数とかやたらめったら多くて嫌だったんだけど
これは普通に使えそうだ。
50デフォルトの名無しさん:2007/09/16(日) 22:45:49
TntDBGrid使ってもDataSource以下が非Unicodeのせいか入力確定した瞬間「??」に化けてくれたりとかもうね‥‥(゚∀゚)

>>48
検索かけるんでBLOBは‥‥
5148:2007/09/16(日) 23:12:15
DBX4にしちゃえ。
52デフォルトの名無しさん:2007/09/17(月) 03:47:45
>>42-44
その結果生まれたのが、あのVBに汚染された
C#(.NetFrameWork)の文法とライブラリ集だってんだから、
泣くに泣けない。

なんだよ、switch〜case で break 強要とかの頭の悪い文法や
まともに使えないWindows forms系のライブラリ群は orz
53デフォルトの名無しさん:2007/09/17(月) 04:39:01
君がまともに使えないだけ
54デフォルトの名無しさん:2007/09/17(月) 06:11:38
ウンコのニオイに慣れすぎて
それがウンコであり、くさいとされているものなんだという
認識すら失ってしまうのは哀れ

ましてや「ウンコはくさい」と言われて「それは君の鼻がまともじゃないだけ」
とか返すのは人として終わってる
ウンコに隷属してもいいことないよ
55デフォルトの名無しさん:2007/09/17(月) 07:07:30
君がウンコ好きなのはわかった
56デフォルトの名無しさん:2007/09/17(月) 07:39:58
>>47
ヒント:
UTF8String = String
57デフォルトの名無しさん:2007/09/17(月) 12:37:36
__thread をポインタにずーっと使ってきたが,今になってポインタは
スレッド変数にはできませんとヘルプに書いてあるのに気がついた。
今まで問題なく動いてきたし,吐かれたコードを見ても何で使えんのか
よく分からん。ホントにあかんの?
58デフォルトの名無しさん:2007/09/17(月) 16:40:03
>>53
つうか、使った上で言っているんだけどね。
多分、君よりは使っていると思うよ。
59デフォルトの名無しさん:2007/09/17(月) 16:51:26
ウンコをいじって遊んでるうちに
自分もウンコになっちゃった人とは
会話が成立しなくて当たり前
60デフォルトの名無しさん:2007/09/17(月) 16:51:59
俺も君より使ってると思うよ
6134:2007/09/24(月) 19:13:21
お久しぶりです。TThreadでボヤいてた者です。
TThreadをプールして使い回してみたところ問題なさそうなのでこれで行くことにしました。
あとスレッドで処理中にフォームを操作するとCPU100%のまま帰ってこなくなる現象が出ましたが、
TThreadの方にpublicで作ったAnsiStringに渡した文字列が原因だったようで、
スレッドの変数をAnsiString.Unique()して参照を切り離してやったら問題無くなりました。
これから先に嵌る人が居るかもしれないので書いておきます。

改めてありがとうございましたorz
62本田:2007/09/26(水) 20:22:02
>>61
ご報告有難うございました。
63本田:2007/09/26(水) 20:37:52
>Why Threads Are A Bad Idea (for most purposes).
> This was an Invited Talk at the 1996 USENIX Technical Conference (January 25, 1996).
> The talk compares the threads style of programming to an alternative approach, events,
> that use only a single thread of control.
> Although each approach has its weaknesses, events result in simpler,
> more manageable code than threads,
> with efficiency that is generally as good as or better than threads.
> Most of the applications for which threading is currently recommended
>(including nearly all user-interface applications)
> would be better off with an event-based implementation.
> The slides for the talk are available in PowerPoint or PDF format.
> There isn't a written paper that corresponds to this talk.
http://home.pacbell.net/ouster/
http://home.pacbell.net/ouster/threads.ppt
http://home.pacbell.net/ouster/threads.pdf
64デフォルトの名無しさん:2007/09/26(水) 21:07:30
これはアメリカのゲームです。1度やってみてください。
これは、たった3分でできるゲームです。試してみてください。 驚く結果をご覧いただけます。
このゲームを考えた本人は、メールを読んでからたった10分で願い事が
かなったそうです。このゲームは、おもしろく、かつ、あっと驚く結果を 貴方にもたらすでしょう。
約束してください。絶対に先を読まず、1行ずつ進む事。 たった3分ですから、ためす価値ありです。
まず、ペンと、紙をご用意下さい。 先を読むと、願い事が叶わなくなります。
@まず、1番から、11番まで、縦に数字を書いてください。
A1番と2番の横に好きな3〜7の数字をそれぞれお書き下さい。
B3番と7番の横に知っている人の名前をお書き下さい。(必ず、興味の
ある性別名前を書く事。男なら女の人、女なら男の人、ゲイなら同姓の名
前をかく)
必ず、1行ずつ進んでください。先を読むと、なにもかもなくなります。
C4,5,6番の横それぞれに、自分の知っている人の名前をお書き下さ
い。これは、家族の人でも知り合いや、友人、誰でも結構です。
まだ、先を見てはいけませんよ!!
D8、9、10、11番の横に、歌のタイトルをお書き下さい。
E最後にお願い事をして下さい。さて、ゲームの解説です。
1)このゲームの事を、2番に書いた数字の人に伝えて下さい。
2)3番に書いた人は貴方の愛する人です。
3)7番に書いた人は、好きだけれど叶わぬ恋の相手です。
4)4番に書いた人は、貴方がとても大切に思う人です。
5)5番に書いた人は、貴方の事をとても良く理解してくれる相手です。
6)6番に書いた人は、貴方に幸運をもたらしてくれる人です。
7)8番に書いた歌は、3番に書いた人を表す歌。
8)9番に書いた歌は、7番に書いた人を表す歌。
9)10番に書いた歌は、貴方の心の中を表す歌。
10)そして、11番に書いた歌は、貴方の人生を表す歌です。
この書き込みを読んでから、1時間以内に10個の掲示板にこの書き込みをコピーして貼って下さい。
そうすれば、あなたの願い事は叶うでしょう。もし、貼らなければ、願い事を逆のことが起こるでしょう。とても奇妙ですが当たってませんか?
65本田:2007/09/27(木) 21:30:35
>>63

>2007年05月08日
>Event-driven Programming for Robust Software
http://www.ce-lab.net/ringo/archives/2007/05/08/

>Rob von Behren, Jeremy Condit and Eric Brewer (UCB)
>Why Events Are A Bad Idea (for high-concurrency servers)
>Proceedings of HotOS 03, May 2003
http://www.spa.is.uec.ac.jp/~kinuko/survey/body/events-are-bad.html
http://www.cs.ualberta.ca/~paullu/C498/events.bad.idea.vonbehren.pdf

>= Event-driven Programming for Robust Software =
http://www.ce-lab.net/ringo/events_robust.html
http://pdos.csail.mit.edu/~rtm/papers/dabek:event.pdf

>On the duality of operating system structures
http://www.sics.se/~adam/pt/duality78.pdf

>Protothreads: simplifying event-driven programming of memory-constrained embedded systems
http://www.sics.se/~adam/dunkels06protothreads.pdf
http://www.sics.se/~adam/dunkels07programming.pdf

>"Combining Events and Threads for Scalable Network Services --- Implementation and evaluation of monadic, application-level concurrency primitives",
> by Peng Li and Steve Zdancewic, 2007
http://www.seas.upenn.edu/~lipeng/homepage/papers/lz07pldi.pdf
http://www.seas.upenn.edu/~lipeng/homepage/unify.html
http://www.seas.upenn.edu/%7Elipeng/unify/unify-0.0.1.tar.gz
6634:2007/09/27(木) 23:42:12
TJPEGImageで使ってるIJGライブラリってコレに差し替えたら速くなる?
http://blog.so-net.ne.jp/magnus/2006-10-07
BCB6付属のJPEG.PAS(6a)ベースでいじってるせいか上手くビルドできん・・・
67デフォルトの名無しさん:2007/10/01(月) 13:36:49
>【A3】C++Builderテクニカルセッション
>「wxFormsで始めるwxWidgetsプログラミング」

これ、スゲー木になるんだけど、
セミナー行かなくてもセミナー後に資料ダウソできるんだっけ?
68デフォルトの名無しさん:2007/10/03(水) 17:27:50
できる。
69デフォルトの名無しさん:2007/10/05(金) 15:24:30
できるな
70デフォルトの名無しさん:2007/10/05(金) 15:42:10
そっかー、セミナーに逝かなくても良いか。一度も行って無いけど。


C++BuilderでwxWidgetsポトペタできるんだったら、超使いまくり。
製品とか確認せずにライセンスイパーイ買って、移行しまくる。
MFCは禁止にしたけど、それに続いてDelphiも禁止令しちゃう。
ま、その条件としては、wxWidgetsをラップしたVCL.wx。
71デフォルトの名無しさん:2007/10/05(金) 18:23:47
TStringGridのDrawCellイベントでセルに色をつけているのですが
タイマーで200ms間隔で色を塗るセルを変更してStringGrid->Invalidate( )してるのですが
グリッドがチラつきます。
そこで、グリッドの再描画をしてもチラつかないか、指定セルだけ再描画をする方法を教えてください><
72デフォルトの名無しさん:2007/10/05(金) 22:18:08
簡単なのはStringGrid->DoubleBuffered = true;
73デフォルトの名無しさん:2007/10/09(火) 18:15:44
元Builder使いとしてはTThreadとか見ると泣ける。

対策?
タイマイベントからソースを移した時のウエイトの残骸が残っていたりとかで何かあったけど忘れた。
思い出したら書いとく。
74デフォルトの名無しさん:2007/10/09(火) 18:16:48
VC++.Netの移行も考えたけど試したら重すぎるのですぐ投げた。
75デフォルトの名無しさん:2007/10/15(月) 11:38:13
>【A3】C++Builderテクニカルセッション
>「wxFormsで始めるwxWidgetsプログラミング」

これって直接聴いたら何らか良い情報あるかなぁ?

組み込みでwxWidgets〜VCL使えてしまったらどーしよー。
76デフォルトの名無しさん:2007/10/15(月) 11:46:15
wxPythonってのもあるけどそれじゃなくて、
C++BuilderによるwxGUI+Pythonって構造って出来るかな?
PythonのHTTP系とかで使いたいモジュールがあったり。

IndyってVCLだから他環境にポーティングできないんだおね。
77デフォルトの名無しさん:2007/10/17(水) 13:58:45
Indyってバグだらけだから使ってない
78デフォルトの名無しさん:2007/10/20(土) 07:45:26
質問です。

最近LimeWireとかいうP2Pソフトが実装した、告知用の MessageBox を見て、
これはシンプルで素晴らしいと 久しぶりに感心したのですが、こういうのモジュール化さ
れていないでしょうか?

動作としては、「○○が終了しました」みたいなMessageBoxがアイコントレイの位置から、
ニョキニョキっとせり出して来るものです。
(生い立ちはRSSリーダーとかVistaガジェットとかがオリジナルなのかも知れませんが)

タイマー使って作ってもいいですが、もし既に有ればと思い質問しました。 宜しくお願いします。
79デフォルトの名無しさん:2007/10/25(木) 13:14:23
「新製品紹介セミナーのご案内: 負荷テストツール」という表題のメールが文字化けして読めないのは仕様ですか?
メーラーはbeckyです。
80デフォルトの名無しさん:2007/10/25(木) 14:30:34
Beckyの仕様です
81デフォルトの名無しさん:2007/10/25(木) 19:20:08
質問です。
環境:BCB6Pro
OS:WinXP
アプリケーションからOLEを使ってEXCEL保存はできるのですが、
実行環境にEXCELがインストールされていないと保存ができませんでした。(エラーになる)
EXCELがインストールされていない環境でも保存できるやりかたってありますか?
82デフォルトの名無しさん:2007/10/25(木) 20:03:49
自前でxlsファイル生成するしかないと思う。
83デフォルトの名無しさん:2007/10/25(木) 20:17:03
>>81
csvで保存。
htmlで保存。

どっちもExcelで読み込める。
レイアウトに懲りたきゃhtmlおぬぬめ。

でもVBScriptは埋め込めない諸刃の剣。
84デフォルトの名無しさん:2007/10/25(木) 20:17:48
×VBScript
○VBA

VBScript/JavaScriptは当然おk
8581:2007/10/25(木) 21:25:07
>>81-84
レスありです。

当然csvに関しては考慮しましたが、多少のレイアウトありなためNGです。
htmlをEXCELで読み込めるのは恥ずかしながら知りませんでした。
ただ、使う人がPCに詳しくないと考えると、htmlを開くとデフォでIEが立ち上がるので
ここではxlsで保存としたく思います。

そこで>>82さんのおっしゃるように自前でxlsを作成しかないかなぁと
思ってはいるのですが、探してはみてもOLEを使う方法しか出てこなくて
困っていたところです。
86デフォルトの名無しさん:2007/10/26(金) 10:37:07
メール受信するならNMPOP3とIndyとどっちがお勧めですか?
87デフォルトの名無しさん:2007/10/26(金) 13:54:32
>85
Excelのない環境で動かすのに、Excelで起動することを意識するのって変じゃない?

それはそうとHTMLを拡張子xlsで保存したらダブルクリックでExcel開いて読込めた。
試したのはExcel2000。他のバージョンは知らない。

あとは使ったことないがこういうのがある
ttp://xlslib.sourceforge.net/
8881:2007/10/26(金) 17:40:25
>>87
xlsで保存→別PCにUSBメモリ等でコピー→Excelで起動といった感じです。
確かにこれを書いてないと矛盾してましたね、すみません。

htmlを拡張子xlsで保存は了解しました。
タグから離れて5年くらい経つので思い出さねば…w

xlslibについてはこれから確認いたします。
また、探しているとこんなサードパーティーも今日見つけました。
ttp://www.adv.co.jp/products/product_ExcelCreator2007.htm
89デフォルトの名無しさん:2007/10/26(金) 19:42:16
>>87
その発想は無かったわ>拡張子変更
これはこれで使えるシチュエーションが有るかと思うと目から鱗だな。

逆に考えると拡張子連動のWindowsがまた一つ怖くなったって事か...w
90デフォルトの名無しさん:2007/10/27(土) 00:27:22
#include <Classes.hpp>

class HogeThread : public TThread
{
private:
protected:
    void __fastcall Execute();
public:
    __fastcall HogeThread(bool CreateSuspended);
};

void __fastcall HogeThread::Execute()
{
//  begin();
    while(Terminated != true){
//      do();
        Application->ProcessMessages();
    }
}
91デフォルトの名無しさん:2007/10/27(土) 00:28:27
HogeThread *Process;

void __fastcall BeginThread(void)
{
    Process = new HogeThread(true);
    Process->Priority = tpTimeCritical;
    Process->Resume();
}

void __fastcall EndThread(void)
{
    Process->Terminate();
    Process->WaitFor();
    delete Process;
}
92デフォルトの名無しさん:2007/10/27(土) 16:26:17
>>81
Excel2002以降はxml形式での読み書きに対応しているので、ウチの「OLEを使わない表出力プログラム」はこんなかんじ。

1.Excel上で表の雛形を作成しxmlで保存しておく
2.自作プログラムから雛形xmlを読み込む
3.目的のタグを操作してxmlで出力

xml操作は、Builder6付属のLoadXMLDocument()使ったり、TStringList使ったり。
9381:2007/10/29(月) 09:33:40
レス遅くなりすみません。

>>89
txtをメモ帳開いてタグ打って、後で拡張子をhtmlに変換してアップロードとか
やってたんで、これが普通と思ってしまっていたw

>>92
とりあえずExcel2003で適当な表を作ってxmlで保存し、
それをエディタで見てみたが…単純な表なのに結構なタグの量ですな…
で、気になるのは、>3.目的のタグを〜〜なのですが、<Cell>タグが並んでいる
だけのような気がして…
TstringListにぶっこんでループで目的の座標までを回せばいけるかな…
ってここから先はBCBじゃなくxmlの話になりそうなので自粛しときます。
94デフォルトの名無しさん:2007/10/30(火) 13:50:45
>>93
最低限の機能だけど、サンプル付きでこんなのもあったり。
ttp://www.codeproject.com/cpp/miniexcel.asp
Builder2007であっさりコンパイルできた。
出来たExcel形式ファイルはExcel2007で確認したけど、日本語は大丈夫っぽい。

xlslibは挑戦したけど、うまくいかなかった。orz
OOXMLのSpreadsheetMLは日本語の解説書がでているから、参考にしてみたら?
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797338725/
そんな複雑な構造でないから、ストリームIOだけでも出力は出来ると思う。
95デフォルトの名無しさん:2007/10/30(火) 14:05:15
メール受信するならNMPOP3とIndyとどっちがお勧めですか?
96デフォルトの名無しさん:2007/10/30(火) 14:38:15
そりゃ、Indyのんが使われたり開発されたり安心じゃね?
97デフォルトの名無しさん:2007/10/30(火) 14:48:59
でも安心感なら標準でついてるNMPOP3のがないですかね?
使いやすさはどちらがいい感じですか?
自分では大差なかったのですが、何か決定的にこっちがお勧め!ってのがあればいいのですが
98デフォルトの名無しさん:2007/10/30(火) 14:52:13
BCB6からIndy標準。
つまり、NMPOP3をケチラシタんでわ?
99デフォルトの名無しさん:2007/10/30(火) 15:39:42
BCB5しか持ってない><
6買えとか言わずに、5でどっちがお勧めか知りたいですう
100デフォルトの名無しさん:2007/10/30(火) 15:43:23
BCB2007はIndy10標準です
101デフォルトの名無しさん:2007/10/30(火) 15:54:23
やっぱ、標準がIndyに移ったんならIndyじゃね?
102デフォルトの名無しさん:2007/10/30(火) 16:02:22
日本語対応の点でIndyは色々大変って話もあるな
C++BuilderはIndy10使えないし
103デフォルトの名無しさん:2007/10/30(火) 17:43:24
どっちも受信したメールはコード変換しないとダメですよね?
104デフォルトの名無しさん:2007/10/30(火) 22:35:17
Indyはゴミだからやめとけ
105デフォルトの名無しさん:2007/10/31(水) 00:16:21
そうはいってもNM(FastNet)はもう終わっちゃっていて先がないから。
そういやRad Studio 2007でもC++BuilderはIndy9なの?
106デフォルトの名無しさん:2007/10/31(水) 00:17:00
>>105
Indy10だよ
107デフォルトの名無しさん:2007/10/31(水) 02:02:33
Indyはダメすぎる
自前でなんとかしたほうが無難
108デフォルトの名無しさん:2007/10/31(水) 07:52:02
別にだめじゃないよ
109デフォルトの名無しさん:2007/10/31(水) 09:27:27
Indyソース付きなんだから、自前みたいなもん。





但し、pasファイル
110デフォルトの名無しさん:2007/10/31(水) 11:57:11
単純なソケットなら自前でもいいけど
自前で実装するのは大変過ぎ
111デフォルトの名無しさん:2007/10/31(水) 14:09:59
Visual Studioのほうが良くないか?
112デフォルトの名無しさん:2007/10/31(水) 14:13:04
V$側の良い部分が1つも無い。
113デフォルトの名無しさん:2007/10/31(水) 14:15:08
ボーランドは高いだろ。
マイクロソフトので十分。
4言語はいってる品。ww
114デフォルトの名無しさん:2007/10/31(水) 14:19:45
ボーランドは1パッケージで1言語。
マイクロソフトには全然負けている。
115デフォルトの名無しさん:2007/10/31(水) 14:20:55
開発するときは1言語なんだけど。
それより、Indy使えるようになったらスレに入ってきな。
土俵にも上がってないよ。
116デフォルトの名無しさん:2007/10/31(水) 14:21:23
ボーランドの製品かうならデルファイでいいんじゃねえか?
117デフォルトの名無しさん:2007/10/31(水) 14:24:10
C++ BuilderにVCLコンポ最強。
118デフォルトの名無しさん:2007/10/31(水) 14:25:54
>>115
昔は俺もボーランドのC++ビルダ プロを6万6千円で購入した。
しかし、ほとんど使わないまま、Visual C++(マイクロソフト)を買い。
4言語入ったVisual Stdio スタンダードにアップグレードした。
これでもマイクロソフトのパッケージは2パッケージで3万千円程度。
言語はVB、VC++、VC#、J#と飽きのこない内容充実。
119デフォルトの名無しさん:2007/10/31(水) 14:30:47
>>118
だから土俵に上がってないおまいが居る(存在する)からって何?
120デフォルトの名無しさん:2007/10/31(水) 14:34:38
もう避難したから某ランドはつぶれてもいいよ
121デフォルトの名無しさん:2007/10/31(水) 14:36:46
>しかし、ほとんど使わないまま、

>もう避難したから

たてほこ
122デフォルトの名無しさん:2007/10/31(水) 14:37:58
ちせつな文といい、ヴビ厨って頭がかたわだなw
123デフォルトの名無しさん:2007/10/31(水) 14:40:07
>>119
Indyって何?
124デフォルトの名無しさん:2007/10/31(水) 14:46:17
>>119
ずいぶん幼稚な次元のコンポーネントの話してたのか?
プログラマ同士でやってくれ。
ぐぐったらよくわかった。
125デフォルトの名無しさん:2007/10/31(水) 15:53:40
舞糞ソフトのセンスは糞
VCやVBも使いづらいしゴミ
OSも舞糞ソフトじゃなかったらここまでバグだらけになってないだろうな
126デフォルトの名無しさん:2007/10/31(水) 16:01:18
なんか頭の弱い人が乱入してきてるみたいだが、
ここはC++Builderのスレなんだから、それ以外は巣に帰ったら?
VisualStadioのほうがいいとか…開発者は元ボーランド社員を引き抜いたわけだし。

要はここは質スレだ。俺もスレチだからこれで終わっとく。
127デフォルトの名無しさん:2007/10/31(水) 16:03:44
はげどー
128デフォルトの名無しさん:2007/10/31(水) 16:04:32
はげどー
129デフォルトの名無しさん:2007/10/31(水) 18:06:52
フレドーフレドー
130デフォルトの名無しさん:2007/10/31(水) 18:55:27
フロドー
131デフォルトの名無しさん:2007/10/31(水) 22:13:04
パッケージに何言語も入ってたって意味なくね?
メインで使う言語ってだいたい決まってるし
132デフォルトの名無しさん:2007/10/31(水) 22:28:48
VCL使う事かんがえるとDelphiとC++は一緒にあると便利
少なくとも俺は両方無いと困る
133デフォルトの名無しさん:2007/11/01(木) 06:39:59
VSのIDEって使えば使うほど重くなってくよね。なんで?
134デフォルトの名無しさん:2007/11/01(木) 08:40:39
言語がイパーイ入っててもちょっぴり嬉しいんだけど、
中の言語が短命で変わりまくりだったり、
ネイティブモンリーorドトネトモンリーといったカタワはカンベン。
VCLみたく両方対応しろと。
135デフォルトの名無しさん:2007/11/01(木) 09:53:56
こいつらレベル低い派wwwwwwwww
136デフォルトの名無しさん:2007/11/01(木) 10:10:54
...




は?





...
で?
137デフォルトの名無しさん:2007/11/01(木) 13:10:19
こいつらレベル低い派wwwwwwwww
138デフォルトの名無しさん:2007/11/01(木) 16:15:07
馬鹿じゃないけど低能が書いてるんだろww
139デフォルトの名無しさん:2007/11/01(木) 16:23:44
ヒント: バカでも使えるBuilder。
140デフォルトの名無しさん:2007/11/01(木) 17:31:19
んじゃ舞糞ソフトよりはマシってことですね
141デフォルトの名無しさん:2007/11/01(木) 17:41:25
低能がらしい当て痔 wwwwwwww
142デフォルトの名無しさん:2007/11/01(木) 17:59:04
STRRET構造体のpOleStr,uOffset,cStrがないとか言われるの何とかならんのかな。
143デフォルトの名無しさん:2007/11/01(木) 18:09:18
>>142
ヘッダ調べてみたら解決した。

STRRET構造体.pOleStr
じゃなくて
STRRET構造体.u.pOleStrだった。

サーセン。
144デフォルトの名無しさん:2007/11/02(金) 09:38:49
C++Builder2007とRAD Studio2007と、
どっちが良いんでしたっけ?
145デフォルトの名無しさん:2007/11/02(金) 10:22:23
どっちが萌えるってこと?
146デフォルトの名無しさん:2007/11/02(金) 10:22:47
職人さんへのお願い 
タケコプターを回してください
過疎掲示板に職人さんの技術力をお恵みくださいm(__)m
http://bbs63.meiwasuisan.com/bbs/bin/read/arms/1193837705/l50
147デフォルトの名無しさん:2007/11/02(金) 16:11:51
>>118さん
Vスタジオその値段で買えますか...?
買えるなら欲しい。(アカデミック版でしょうか)

148デフォルトの名無しさん:2007/11/02(金) 16:14:37
>>147
自己レス。スタンダード版は確かにその値段ですね。
149デフォルトの名無しさん:2007/11/04(日) 05:47:33
>>118
現状、実際使うのはC++、C#だけじゃん。
J#自体は完全な継子扱いだし、奇形C#のVB(.net)は使うメリットないべ。
更に言えば、VCのライブラリ使いにくいし、役に立つのはC#位。

ってかさ、MSは はいい加減に .NetのWindows.Formsの奇形GUI部品群を
どうにかしろよ。
未だに、まともにUI部品として使えるのはサードパーティー製のデュアル
インターフェースのActiveXばっかじゃないか。
いい加減、.NetネイティブでまともなUI部品を組める様にしてくれやorz
150デフォルトの名無しさん:2007/11/04(日) 19:09:55
MS製ソフトなんて昔からそんなもんだよ
151デフォルトの名無しさん:2007/11/05(月) 08:48:06
Windowsのカーネルだけしっかりさせといて、
その上の部品をガラガラポンした方が儲かるんだろ。
152デフォルトの名無しさん:2007/11/06(火) 00:12:06
ユニットってどういう意味ですか?

たとえば、クラスを書く場合ユニットを作成し、
Unit.h,Unit.cpp
に書いたほうがいいのですか?
153デフォルトの名無しさん:2007/11/06(火) 00:50:55
>>152
死ね役立たず。
人の足引っ張って楽しいかゴミクズ。
今すぐ死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。v死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
154デフォルトの名無しさん:2007/11/06(火) 00:58:26
もちつけw
155デフォルトの名無しさん:2007/11/06(火) 01:03:33
どうしたんだ
ファビョってる朝鮮人でも来てるのか?
156デフォルトの名無しさん:2007/11/06(火) 01:25:38
なんかC++スレのコピペw
157デフォルトの名無しさん:2007/11/06(火) 08:01:28
>>152
本来はObjectPascalのソース単位。Unit*.pas = 1ユニット。
BCBだとUnit*.hとUnit*.cppに相当。新規作成>ユニットは同名のヘッダファイルとソースファイルをまとめて作るくらいの認識でおk
158デフォルトの名無しさん:2007/11/07(水) 14:03:05
unko
159デフォルトの名無しさん:2007/11/08(木) 01:16:58
なんでC++勉強したいのにObjectPascalまで覚えないといけないのかと最初は思ってたけど
Delphiの知識もついて一石二鳥だったなと今なら思える
160デフォルトの名無しさん:2007/11/08(木) 07:50:07
使い道あんまりないけどな
161デフォルトの名無しさん:2007/11/08(木) 10:19:49
C++の勉強用にはclosureだのDelphiRTTIだのイベントハンドラ適当に定義すれば動いちゃうだのVCLの疑似GCだの弊害が多すぎる予感。
162デフォルトの名無しさん:2007/11/08(木) 10:27:34
そうでもないよ。

MFCなんかだとスケルトンコードが大きすぎるし、
かつそれがC++じゃない化け物コードみたいなものだし、
コーディングしてて自分が何したいのか分からなくなるくらい。
163デフォルトの名無しさん:2007/11/08(木) 11:59:07
C++の勉強にクラスライブラリは直接関係無いというか
本質的な事ではないな
164デフォルトの名無しさん:2007/11/08(木) 12:04:44
>C++の勉強にクラスライブラリは直接関係無いというか

あの、C++での開発っていうのはクラスライブラリの派生なんだから、
勉強っていうのはクラスライブラリの勉強だお。
165デフォルトの名無しさん:2007/11/08(木) 12:20:38
それなら環境はおのずと決まるだろう
166デフォルトの名無しさん:2007/11/08(木) 12:26:08
イミフメ
167デフォルトの名無しさん:2007/11/08(木) 14:38:01
わかってないな
168デフォルトの名無しさん:2007/11/08(木) 14:42:53
わかってないな

勉強なんだから、特定の環境、例えばWindowsで良質なクラスライブラリを使う勉強をしても構わない。

本番では、その良質な設計の部分のみを参考にして、別の環境でやれば良い。

169デフォルトの名無しさん:2007/11/08(木) 14:44:45
良質な設計例:

ttp://mag.matrix.jp/mag/queen/log/soft/eid153.html
>結局,真のRADはDelphiで.それ以外ではGUIツールはサンプルコード生成ツールくらいにとらえた方が良いかも.
>(特にパラメータをコードに埋め込むタイプ)
170デフォルトの名無しさん:2007/11/08(木) 14:55:08
わかってないな
171デフォルトの名無しさん:2007/11/08(木) 15:32:02
わかってなくても使えるC++Builderが好きです
172デフォルトの名無しさん:2007/11/08(木) 15:57:48
その事に関してだけはC++コンパイラ中最強。
173デフォルトの名無しさん:2007/11/08(木) 16:23:49
わかってないな
コンパイラじゃないIDEだ
174デフォルトの名無しさん:2007/11/08(木) 16:27:57
わかってないな
C++Builder製品の分類はコンパイラ
175デフォルトの名無しさん:2007/11/08(木) 16:58:40
わかってないな
ボーランドがOS作ればウィンドウズもここまで糞にはならなかったってことだ
176デフォルトの名無しさん:2007/11/08(木) 17:02:32
わかってないな
Windowsは良いよ。悪いのはヴィジュアルスタジオドットネット(笑)。
177デフォルトの名無しさん:2007/11/08(木) 17:12:51
少しはわかれよお前らw
178デフォルトの名無しさん:2007/11/08(木) 17:23:12
わかってないな
オラ、悟空だ!
179デフォルトの名無しさん:2007/11/08(木) 17:26:16
てっきり天津飯だと思ってた
180デフォルトの名無しさん:2007/11/08(木) 17:48:49
わかってないな
ほんとはクリりん
181デフォルトの名無しさん:2007/11/08(木) 18:08:25
VisualC++が真にヴィジュアルな開発環境じゃなかったのが全ての原因ニダ!
182デフォルトの名無しさん:2007/11/08(木) 18:11:26
マイクロソフトではアレでいっぱいいっぱいだったんですよ
183デフォルトの名無しさん:2007/11/08(木) 18:17:26
初めてVC使ったときの衝撃は忘れられないな
既にVB使った後だったから更に倍って感じだった
184デフォルトの名無しさん:2007/11/08(木) 21:57:02
見た目は似てるからなw
ぱっと見リソースエディタの画面なんか見ると
RADツールじゃないかと勘違いできる
185デフォルトの名無しさん:2007/11/08(木) 22:59:17
3,4の当時C++BuilderはヘルプがMSにくらべて丁寧で使いやすかった。
今でもC標準ランタイムのヘルプなんかはBuilderのを見てしまう。
186デフォルトの名無しさん:2007/11/09(金) 01:29:46
ところでJ#常用してる方いますか?
187デフォルトの名無しさん:2007/11/09(金) 02:21:09
居ませんよ
188デフォルトの名無しさん:2007/11/09(金) 09:34:05
BCB6なんですが、FastMMのインスコ手順をお教え下さい。
189188:2007/11/09(金) 09:46:58
もう一つ教えて欲しいのですが、

C++Builder6→C++Builder2006だと、

2000増えていますが、
FastMM導入で高速化、
STL差し替えで低速化、
であってますか?

具体的にはSTLは何から何に変わったのでしょう?
何で変わったんだろ。
190デフォルトの名無しさん:2007/11/09(金) 23:26:05
FastMMはダウンロードしてプロジェクトファイルのあるフォルダに展開、ではだめですか?
STLは昔はSTLPortだったのがDinkumwareになったらしい。
MLか公式newsgroupで聞いてみたら?
191デフォルトの名無しさん:2007/11/10(土) 03:55:05
>>187
やっぱり居ないですか。
僕もあれは幻かなにかだと思っていたんですよ。J#。
192デフォルトの名無しさん:2007/11/10(土) 08:24:58
.NETなんかに手を出したのが失敗の始まりだったな
193デフォルトの名無しさん:2007/11/10(土) 08:32:03
>>188
FastMM4BCB.cppのコメントに書いてある
194デフォルトの名無しさん:2007/11/10(土) 18:39:26
良質なライブラリやパッケージ設計を知ってないと良質な設計は出来ない。
VCLはロジック系は凝りすぎずに素直だし、UI系の継承関係とイベント処理は見事だよ。

ロジック、継承だけならJavaのAPIもいいんだけど、UIのイベント処理が不便。
.Netのは基本概念はいいんだけど、ロジック系はJavaのデッドコピー(っても良い
設計はにかよるからこれはOK)だし、UI部品に到ってはあの腐れVBの部品の
デッドコピーorz

Javaにせよ、.Netにせよ、まともなGUI組める機構+ライブラリがありゃ、更に普及するのに。


>>186
.NetになくてJavaにあるクラスのパチモンを使用したいときだけ呼び出していたよ。
常用は居ないでしょう。
195デフォルトの名無しさん:2007/11/15(木) 14:27:27
Variant u;
u=u+pDS1->Fields->Fields[0]->Value;
Edit6->Text=u;
u="";
コンパイルは通るのですが、バリアントに対する演算が正しくありません。
と言うエラーがでます。
どうすればいいでしょうか?
196デフォルトの名無しさん:2007/11/15(木) 14:31:41
>>195
Variant u;って初期化しなくてもおkなの?
197デフォルトの名無しさん:2007/11/15(木) 14:38:38
Variantはふつー使わない。

Edit6->Text = Fields[0]->AsString();

じゃね?
198デフォルトの名無しさん:2007/11/15(木) 14:50:06
>>196
>>197
ご教授のとおり
初期化しAnsiStringになおすとエラーもなくなりなした。
ありがとうございました。
199デフォルトの名無しさん:2007/11/15(木) 14:59:24
VariantってのはCOMとかActiveXを扱う専用みたいな。

オブジェクトの値の抽象型って意味では既にTFieldってのが機能する。
AsString、AsInteger、とか。

200デフォルトの名無しさん:2007/11/15(木) 15:07:26
そういやVariantなんてあったっけか
使った事ないや
201デフォルトの名無しさん:2007/11/15(木) 15:31:25
Excelのセル範囲にまとめて値を代入する時だけVariantの配列を使った。
202デフォルトの名無しさん:2007/11/15(木) 15:33:45
いや、それがVariantの唯一の用途だから
203デフォルトの名無しさん:2007/11/15(木) 16:26:51
僕がVariantです
204デフォルトの名無しさん:2007/11/15(木) 16:31:10
じゃあ私はLPSTR 。
205デフォルトの名無しさん:2007/11/15(木) 16:36:32
それならボクはUTF8String
206デフォルトの名無しさん:2007/11/15(木) 16:43:01
しかたがない、俺がvoid *だ
207char*:2007/11/15(木) 16:56:15
>>206
あ、あなたがvoid*!!
われらポインタの主!!へへー!
208デフォルトの名無しさん:2007/11/15(木) 17:10:31
void氏って香具師?
209デフォルトの名無しさん:2007/11/15(木) 17:23:38
for(int i=0;i<10;i++)
Series1->AddXY(random(10),random(10),"",clTeeColor);

TPointSeries、Zoomを何回か繰り返すとポイント消える。
何でなの?
210デフォルトの名無しさん:2007/11/15(木) 18:30:09
僕はTPointSeriesじゃありませんから
211デフォルトの名無しさん:2007/11/15(木) 20:34:12
僕はchar
3倍速いんだぜ
212デフォルトの名無しさん:2007/11/15(木) 21:38:19
>>211
でも、全部赤い文字になるし、角も生えるし…
213デフォルトの名無しさん:2007/11/20(火) 15:34:44
半角カナを全角に変換する方法を教えてください
214デフォルトの名無しさん:2007/11/20(火) 15:36:25
冬休みはまだのはずだが、とにかくbuilderと関係ない
215デフォルトの名無しさん:2007/11/20(火) 16:09:29
BCB6(SP2)でTClientSocketを使用してTCP接続を行った時に、
大量の接続エラーを繰り返すと以下のエラーが発生して
止まってしまいます。
NonBlockingで接続しています。

”Windowsソケットエラー:システムのバッファ領域が不足
しているか、またはキューがいっぱいのため、ソケット操
作を実行できませんでした。(10055)”

対処方法をご存じの方は教えてもらえますでしょうか。

TCPClient1->Open();
これの繰り返しです。
OnError()イベントで接続エラーが発生後再度、Open()を
繰り返しています。

最終的に上記のエラーが出ますがOnError()イベントには
飛んでこないで、OnDisconnect()イベントに飛んできてそ
の後BCBが上記エラーを表示します。
上記エラーはcatchもできません。
216デフォルトの名無しさん:2007/11/20(火) 16:09:53
知らないならレスしないで下さい!ウザイだけです!
217デフォルトの名無しさん:2007/11/20(火) 22:02:45
>>213
無変換キー あるいは F7キー
218デフォルトの名無しさん:2007/11/21(水) 04:42:21
>>213
先頭から順に文字を見て置換していけばいいだけ。
WideStringにぶち込んだ方が文字単位で処理できて楽だった。
219デフォルトの名無しさん:2007/11/21(水) 08:16:04
>>215
非同期をイベントで処理するのが間違いでは?
220デフォルトの名無しさん:2007/11/21(水) 10:45:35
>>213
C++Builderだろ?AnsiStringで出来るんじゃなかったけ?
221デフォルトの名無しさん:2007/11/21(水) 10:51:02
知らないならレスしないで下さい!ウザイだけです!
222デフォルトの名無しさん:2007/11/21(水) 11:05:35
LCMapString
223デフォルトの名無しさん:2007/11/22(木) 17:04:33
エクスプローラーからネットワークで他のPCのフォルダを閲覧に行く場合にユーザー名とパスワードが要求される場合がありますが

プログラムでユーザー名とパスワードを自動的に入力して他PCのフォルダを閲覧しに行く方法はありますか?
224デフォルトの名無しさん:2007/11/22(木) 17:54:51
ある
225デフォルトの名無しさん:2007/11/22(木) 23:25:03
お前いったい何が目的だ
226デフォルトの名無しさん:2007/11/22(木) 23:45:01
>>216>>221
まだそのキチガイレス流行ってたのかwww
227デフォルトの名無しさん:2007/11/23(金) 12:37:02
>223
WNetAddConnection2
228デフォルトの名無しさん:2007/11/24(土) 18:11:44
>>226
コピペなんだろうね。
なんかデジカメ板でも見た気がするしww
229デフォルトの名無しさん:2007/12/10(月) 18:37:40
TListViewで質問ですが
設計時にリストに値を登録しておいてるのですが
フォームのコンストラクタでListView->Items->Clear()をしてもリストがクリアされません
フォームのShowイベントでListView->Items->Clear()をするとクリアされるのですが
これバグですか?仕様ですか?
できればコンストラクタで1回だけやりたいのですが
230デフォルトの名無しさん:2007/12/10(月) 23:24:01
>229
仕様ですね。コンストラクタの段階ではウィンドウが生成されていないのが原因です。
231デフォルトの名無しさん:2007/12/11(火) 08:03:03
コンストラクタの段階でウィンドウはハンドルは既にあるし、ListView->Items->Clear()すれば消えてるけど。
バージョンの違いか?
232デフォルトの名無しさん:2007/12/11(火) 10:39:42
>>230-231
お答えありがとうございます
言い忘れていましたが、C++Builder5 proです。
たぶんこのバージョンだと>>230さんの言うとおりだとおもうのですがいまいち使いづらいですねこれ

例えば今はForm1のコンストラクタでFormをnewして作成
Form1のグリッドがクリックされるとForm2を表示として
Form2はListViewしかなくここのコンストラクタでiniファイルを読んでリストを作成しているので・・・
Showイベントでリストを作るとグリッドをクリックされるたびに毎回無駄にiniファイルを読んでリストを作ってって
するのを回避したかったのですが・・・
233デフォルトの名無しさん:2007/12/31(月) 09:25:57
すいません、求人の採用条件にVC++経験者が多いのですが、
TurboC++とかBDS2006とかの経験持ちで採用している会社を
探してます。
教えてください。
234デフォルトの名無しさん:2007/12/31(月) 09:50:15
アンチ乙
235初心者:2007/12/31(月) 15:30:39
C++builder2007 だけど
installaware でインストールプログラムをつくったら
vista で
システムポリシーがどうのこうの
このインストールはできないのこうの
とインストールを拒否された。
xp はだいじょうぶなんだけどなぁ。
どないしたらいいねん?
236デフォルトの名無しさん:2007/12/31(月) 15:40:16
>>233
確かにVC++経験じゃないと嫌だ!と言う面接官もいるかも知れないが
受かりたいなら嫌でも経験者だと言うだろ
そして経験者ってのも曖昧だ
237デフォルトの名無しさん:2007/12/31(月) 16:32:24
>>233
そういう条件の会社は使い捨て派だから止めといたほうが無難かと
238デフォルトの名無しさん:2007/12/31(月) 18:24:31
それでも誰かが消費されなければならないのだから、あえて突貫する漢を止める事もあるまい。
239デフォルトの名無しさん:2008/01/02(水) 03:46:28
VCも覚えればいいだろ
240デフォルトの名無しさん:2008/01/08(火) 12:33:18
フォームにEdit1をおいてFormMouseWheelイベントを取得すると、
フォームとEdit1でイベントを取得してしまって、
計2回呼ばれてしまいます。どうすればいいのでしょうか
241デフォルトの名無しさん:2008/01/08(火) 12:43:53
bool &Handled
242デフォルトの名無しさん:2008/01/08(火) 12:45:16
>>233
会社に入ってしまえば、C++Builderに変更可能だお。
そうこうしてるうちに、MFC禁止令を出せばみんな納得する。
MFCはプロジェクトを越えてダイアログを使いまわせないことを理由に社内禁止しますた。

但し、受託は除く。
243240:2008/01/08(火) 12:56:39
Handled = True; でうまくいきました。ありがとうございました!

#ShowMessage(((TComponent*)Sender)->Name);で表示させると、
#Form1から3回も呼ばれてました。。
244デフォルトの名無しさん:2008/01/08(火) 14:11:13
スクロールバーをプロポーショナルにしたいのですが、
Pagesizeの算定方法で定石ってありますでしょうか?
245デフォルトの名無しさん:2008/01/11(金) 17:44:36
>>244
ある
246デフォルトの名無しさん:2008/01/14(月) 21:33:01
C++Builder 2007、Visual Studio 2008
ずばり、どっち買ったらいい?!!
247C++Builderスレなんだから:2008/01/14(月) 22:13:00
C++Builderに決まってるだろ、常識で考えて。
248デフォルトの名無しさん:2008/01/14(月) 23:03:37
うむ
249デフォルトの名無しさん:2008/01/14(月) 23:05:10
>>246
マジレスするとVisual Studio 2008。
250デフォルトの名無しさん:2008/01/15(火) 08:10:30
VSは無料版で十分。買う必要はない
251デフォルトの名無しさん:2008/01/15(火) 08:24:18
そりゃぁ君はそれで十分だけど。
252デフォルトの名無しさん:2008/01/15(火) 18:31:52
買うことに関しては意見が割れますたが、
使うべきは C++Builder 2007 です。
253デフォルトの名無しさん:2008/01/15(火) 20:37:05
C++Builder 2007買って
シェアウェア作って
VS2008を買う。


これ最強!
254デフォルトの名無しさん:2008/01/15(火) 21:19:50
ノンノン
VS2008買う→シェア作る→儲かる(゚д゚)ウマー
255デフォルトの名無しさん:2008/01/15(火) 21:37:21
それは、まあ夢。 
まだ、 Delphi無料版→シェア作る→儲かる→C++Builder 2007買う→シェア作る→もっと儲かる
こっちの夢の方が現実味がある。
256デフォルトの名無しさん:2008/01/15(火) 21:42:47
シェアウェア(笑)
257デフォルトの名無しさん:2008/01/16(水) 00:02:53
まてまて
BCB、Delphiでアプリ作るのと
MFCで作るのは労力が10倍くらい違うぞ
幾ら最新版の2008買おうが
VC+MFCの面倒さは微塵も変わらん
それにVCLみたいな便利なパーツもないよ
Win32のもってるベースパーツのみ

それともマネージドでつくったもんがシェア?w
だいたいシェアで儲かるとかどこの国の話だよ
どこかのおっさんがVBでアドレス帳つくって
それを1000円のシェアにしてたのを思い出したよ
だれが買うんだよ

>250
ExpressとStandardでは雲泥の差があるんだが
特にVCやるんだったらMFCいるだろうが
安いんだからStandardくらいは買えや
258デフォルトの名無しさん:2008/01/16(水) 09:15:02
BCB IDEでMFCのスケルトン作成してですね‥‥
259デフォルトの名無しさん:2008/01/16(水) 09:16:27
MFCで画面作成はカンベン
260デフォルトの名無しさん:2008/01/16(水) 09:18:48
MFCで画面作成は簡便
261デフォルトの名無しさん:2008/01/16(水) 10:09:38
     *      *
  *  うそです   +  
     n ∧_∧ n
 + (ヨ(* ´∀`)E)
      Y     Y    *
262244:2008/01/16(水) 14:57:54
勘違いして他のですが、PageSize = 1; で勝手にプロポーショナルになりました;;
263デフォルトの名無しさん:2008/01/16(水) 15:10:08
勘違いしないでください
264デフォルトの名無しさん:2008/01/16(水) 15:13:05
ScrollBar1->Position = 0;

としたときに

ScrollBar1Change イベントを発生させたくないのですが、
どうしたらいいのでしょうか。
265デフォルトの名無しさん:2008/01/16(水) 15:15:42
TNotifyEvent a = ScrollBar1->OnChange;
ScrollBar1->OnChange = NULL;
ScrollBar1->Position = 0;
ScrollBar1->OnChange = a;
266264:2008/01/16(水) 15:18:32
おお、イベントハンドラを一時的に退避させるのですね。。
速レス謝謝です!
267デフォルトの名無しさん:2008/01/16(水) 15:22:48
どういたしました
268デフォルトの名無しさん:2008/01/18(金) 19:49:24
ListViewで特定の行の特定のサブアイテムの値を変更する方法が解りません;;
ListView1->Items->Item[SelectedRow]->SubItems->SetText("###");
だとだめですた
269デフォルトの名無しさん:2008/01/18(金) 19:58:18
AnsiString TListItem::SubItems::Strings[int]
270268:2008/01/18(金) 20:06:15
毎度ありがとうございます。。
Visual StudioはIDEが助けてくれるのですが、
C++ Builderは情報も少なくて難儀しています;;
271デフォルトの名無しさん:2008/01/19(土) 07:12:27
結局、Pascal側のソースを読まないとね。
272デフォルトの名無しさん:2008/01/19(土) 15:10:23
それくらいはヘルプ見れば分かるでしょ
273デフォルトの名無しさん:2008/01/19(土) 21:12:23
まあそうだね。
BCBだとポインタだから直接[]が使えないんで、Strings[]とかItems[]とかになる、ということが
わかってないとPascal読んでも解決しないし
逆に、わかってればヘルプのプロパティで見当つくしね。
補完に頼るといらいらするし。
274デフォルトの名無しさん:2008/01/19(土) 22:07:54
BCBは補完に頼る軟弱物は斬り捨てる。
逆にVSのオートマシンはすばらしく軽い。
275デフォルトの名無しさん:2008/01/20(日) 20:56:35
ResizeKit1.5 C++Builder6
これ使ってる人いんの?
276デフォルトの名無しさん:2008/01/20(日) 23:42:40
それだけのために1万円は出せねーな
277デフォルトの名無しさん:2008/01/21(月) 01:44:15
画面の解像度なんてめったに変えないだろ
液晶使ってたら固定されてるようなもんだし
278デフォルトの名無しさん:2008/01/21(月) 16:47:18
2006でD&Dの部分を

HDROP &Drop = (HDROP)Message.Drop;

と書いていたのですが、2007だと

[BCC32 エラー] Unit1.cpp(143): E2357 参照は 'void *' で初期化されているが 'void *' 型の左辺値が必要

のエラーが出てしまいます。なぜでしょうか
279278:2008/01/21(月) 16:58:21
HDROP &Drop = (HDROP)Message.Drop;
int Files = DragQueryFile( Drop, 0xFFFFFFFF, NULL, 0 );

と書いていたものを、

int Files = DragQueryFile( (HDROP)Message.Drop, 0xFFFFFFFF, NULL, 0 );

とすればコンパイル通りました。むむむむ
280デフォルトの名無しさん:2008/01/21(月) 17:54:12
よく知らないけど
typedef void *HDROP;
だろうとすると

わざわざHDROP(=void*)を参照で受ける意味がわからん。
エラーは、「キャストした型は左辺値じゃない」から出てるんだろうし。
281デフォルトの名無しさん:2008/01/21(月) 17:56:02
つまり、
>HDROP &Drop
がポインタ評価されてたのが2006、
参照とポインタとちゃんと別にしたのが2007ってことだね。
282278:2008/01/21(月) 18:57:08
なるほどー。ちなみに、
http://www.geocities.co.jp/Milano/8000/cbuilder/dragdrop.html
を参照してました。
283278:2008/01/21(月) 19:00:11
さらに質問なのですが、2007で、

#difine NAME "わっしょい";

Form1->Caption = NAME "前田";

ってことはできないんでしょうか。gccではできました。
284デフォルトの名無しさん:2008/01/21(月) 19:06:12
わっしょいのセミコロンいらんべ
285デフォルトの名無しさん:2008/01/21(月) 19:15:44
できません
286278:2008/01/21(月) 19:16:25
ハッΣ(゚Д゚;)セミコロンがあると、

Form1->Caption = "わっしょい"; "前田";

と置換されて後ろの文字りてらるが無視されるのですね!
レベルアップした鐘の音が聞こえます。
287デフォルトの名無しさん:2008/01/21(月) 19:18:20
どっちみちできません
288デフォルトの名無しさん:2008/01/21(月) 19:25:05
え? できないの?
289278:2008/01/21(月) 19:30:00
セミコロン外したらできました
290デフォルトの名無しさん:2008/01/21(月) 19:34:59
あ、できないって書いてる奴の言いたいことわかった

#difine

じゃだめだな
291デフォルトの名無しさん:2008/01/21(月) 23:06:52
Cプログラマの為に、ポイントをまとめたドキュメントを販売しています。
プロのプログラマでもあまりにレベルが低い人が多すぎます。
そんな人に限って、自分のレベルの低さを自覚していない、、、
 本人は構わないかもしれませんが、その下についた新人プログラマは
たまったものではありません。(私が経験しました。)
 今になって分かりました。
彼らもまた、理解できていなかったのです。
 プログラミング言語の一番の習得の近道はきちんと理解している人にアドバイスをもらうこと。です。
私のC言語に取り組んだ7年間をすべてぶつけたつもりでテキストを作りました。
 私の会社の後輩からは、どんなテキストよりもわかりやすかった!や、
今まで教えてくれていた先輩や、テキストたちが、ちゃんと理解できていないことがわかりました。
と、嬉しいコメントをたくさんもらいました。
そしてなにより、彼らの社内での評価がとても高いということが、私の誇りです。
 興味がある方はどうか、下のサイトをみてみてください。
http://mori.eco.to/
292デフォルトの名無しさん:2008/01/22(火) 03:32:54
たけーよ
293デフォルトの名無しさん:2008/01/22(火) 09:12:05
TurboC++(C++Builder2006) Explorerは\0です
294デフォルトの名無しさん:2008/01/22(火) 13:05:38
今さらCってどうなのよw
295デフォルトの名無しさん:2008/01/22(火) 13:26:05
今更Cってどうなのよって言う奴ってどうなのよw
296デフォルトの名無しさん:2008/01/22(火) 14:02:24
少し興味はあるけど、Cマガジンの春の特集程度かも
297デフォルトの名無しさん:2008/01/22(火) 15:14:56
\8800って高杉
誰が買うかよカス
298デフォルトの名無しさん:2008/01/22(火) 15:26:02
構造体、もしくはクラスをTObjectListで管理したいのですがうまくいきません。

class test {
public:
AnsiString fileName;
AnsiString fullPath;
} foo;

foo.fileName = "momomo";

TObjectList *list = new TObjectList;
list->Add( foo );

なコードを試したのですが、

[BCC32 エラー] Unit1.cpp(28): E2034 'test' 型は 'TObject *' 型に変換できない
[BCC32 エラー] Unit1.cpp(28): E2342 パラメータ 'AObject' は TObject * 型として定義されているので test は渡せない

と出てきてしまいます。何処がいけないのでしょうか。
またTObjectListから格納した構造体に list->Items[0]->fileName なんてあくせすできるのでしょうか?
299デフォルトの名無しさん:2008/01/22(火) 15:34:00
TListには静的確保したオブジェクトは格納できない。
test* foo = new test()で確保してポインタを渡すか、std::vector<test>を使う。

test foo;
list->Add(&foo);
はスコープ抜けた時点で実体が消滅するからやっちゃダメ。
300デフォルトの名無しさん:2008/01/22(火) 15:36:57
list->Add( (TObject*)&foo );
301デフォルトの名無しさん:2008/01/22(火) 16:38:39
上記で追加されたようですが、取り出し方が解りませんT-T

list->Items[0]->fileName;

では取り出せませんでした。
test でキャストするのでしょうか。。?
302デフォルトの名無しさん:2008/01/22(火) 17:00:44
>>299-300は無視なの?
お礼なし?聞くだけ?基地外?
303デフォルトの名無しさん:2008/01/22(火) 17:12:34
ええー無視なんかしてないですよー「上記で追加されたようですが」って引用してますし、
最初の質問でアクセス方法も書いたので、
アクセスできてからまとめてお礼をしようと思ってました……
304デフォルトの名無しさん:2008/01/22(火) 17:39:15
>今更Cってどうなのよって言う奴ってどうなのよw

せめてC++だろ。
305デフォルトの名無しさん:2008/01/22(火) 19:24:14
>>304
Linuxとかの/usr/binの中の多くはまだまだ、そしてこれからもCな現実。
306デフォルトの名無しさん:2008/01/22(火) 19:26:17
TObjectListがどうしても理解できなかったので、
std::vectorを使うことにしました。ありがとうございました。

って>>302、あなた誰なのよ
307デフォルトの名無しさん:2008/01/22(火) 21:06:10
>>302たまに出てくるあれだな、
自分が答えてないのにえらそうな態度とりたい香具師
308デフォルトの名無しさん:2008/01/22(火) 21:18:11
303 != 301 と打ち間違ったのだと思ってた
309デフォルトの名無しさん:2008/01/22(火) 21:41:49
( 303 != 301 ) == True;
310デフォルトの名無しさん:2008/01/23(水) 00:50:32
>>305
Cなんて誰でもできる
もっと他のがいい
311デフォルトの名無しさん:2008/01/23(水) 09:49:53
じゃあDelphiやれば
312デフォルトの名無しさん:2008/01/23(水) 15:12:02
すでにフォームに貼り付けてあるTImageにpublicな変数を追加したいのですが
どうやったらできますか?
313デフォルトの名無しさん:2008/01/23(水) 15:19:26
TImage継承してフォーム上のTImageを置き換えてしまう。
 置き換えるのは
http://delwiki.info/?%A5%B3%A1%BC%A5%C9%C1%D2%B8%CB%2F%A5%B3%A5%F3%A5%DD%A4%CE%C9%D5%A4%B1%C2%D8%A4%A8
コレを書き直すか、パスカルユニット新規作成してプロジェクトに追加する
314デフォルトの名無しさん:2008/01/23(水) 15:25:14
>>313
あー!
こんなことできるんですね。
つかやっぱTimageを継承してクラス作る以外にないですよね
ありがとうございました
315デフォルトの名無しさん:2008/01/23(水) 15:36:46
>>314

Tag プロパティでは足りないの?
文字列ならCaption・Hintに突っ込むとか
ポインタなら Components に突っ込むとか
316デフォルトの名無しさん:2008/01/23(水) 15:40:13
自分なら、ポトペタするときはTPanelを貼り付けておいて、

TImageEx *ImageEx = new TImageEx(this);
ImageEx->Align = alClient;
ImageEx->Parent = PanelImage;

とかする。
317デフォルトの名無しさん:2008/01/23(水) 15:40:15
32bit幅の値ならproperty TComponet.Tag : Integerを使うという手も
318デフォルトの名無しさん:2008/01/23(水) 15:45:33
>>314
Tagの他にもう1つほしかったんですよ!

>>316-317
みなさんいろいろ工夫してるみたいですね

んで、Tagじゃ足らんからHelpContextも使おうっておもってたんですが
TImageにそれないんですよね・・・
ちなみに、Hintも使ってます・・
319デフォルトの名無しさん:2008/01/23(水) 15:54:55
この際、Tagにクラスポインタを‥‥
320デフォルトの名無しさん:2008/01/23(水) 16:01:02
Tagにポインタをぶち込むのも考えてましたが・・・
できればTImageだけの閉じたあれでしたかったので
ちょいと皆様に良い知恵があったら戸おもいかきこみいいfなsんふぁ
321デフォルトの名無しさん:2008/01/23(水) 16:02:46
>Tagにポインタをぶち込むのも考えてましたが・・・

たしかに、これではクラス派生のOOPにならないから良くない。

316の場合、綺麗にファイル単位でクラスを分けれて作成&メンテしやすいお。
322デフォルトの名無しさん:2008/01/23(水) 16:09:46
>>321
えーっと>>316さんの策はとりあえずフォームに
Imageを貼り付ける場所にPanelを貼り付けて
んで実行時にPanelをコンテナとしてその上にTImageを継承したクラスを
のっけるってことでいいですか?
323デフォルトの名無しさん:2008/01/23(水) 16:18:38
>>322
その通りです。
コンストラクタでのっけてます。
deleteはしなくてもおk。

TImageクラスとかの名前を、
TImage_(用途).cpp とか T(用途)Image.cpp
にしてまつ。
324316:2008/01/23(水) 16:19:57
>コンストラクタでのっけてます。

の場合もありますし、
何度もデータを入れ替えしたい場合は、
キッチリ削除したいので、

Form::init メソッドでのせる場合おあるかな。
325デフォルトの名無しさん:2008/01/23(水) 16:33:05
>>323
なるほどなるほど。
しかしこの場合はイベントハンドらはどうしていますか?
予めダミーっぽいTImageでClickとか設計時に作っちゃってから
TImageExのnewしてからわりあててますか?
326316:2008/01/23(水) 16:57:30
>>325
そうそう、目が効いてますね。
イベントハンドラがちょっぴりテクニックです。

TForm1に、
>void __fastcall Event_OnClick(TObject *Sender);
みたいな感じで手書きでイベントハンドラ作っておきます。
そうしてTImageExをnewしたあとに、イベントハンドラを外からセットします。

ちょっと読むと、え”ーという感じかもしれませんが、意外にこれに利点があります。


1.イベントハンドラの無い派生クラスなので、複数画面で共有しても全く弊害無し
2.Form1のイベントハンドラとして書くので、TImageExと他の例えばTGridExと
 それらのオブジェクトが連携するように記述できる上、
 それらのオブジェクトが互いに参照しない
327デフォルトの名無しさん:2008/01/23(水) 17:02:03
派生クラス作るんなら派生クラス内にイベント書いてコンストラクタで入れちゃえばいいんじゃないん?

class TxxImage : public TImage
{
public:
TxxImage() : TImage() { OnClick = TxxImageClick; }
private:
TxxImageClick(TObject* Sender) { ... }
};
328316:2008/01/23(水) 17:04:56
>>327
いや、やっぱ、イベントハンドラはForm1のものとして書いたほうが、色んなオブジェクトにアクセスできるお。

逆にTxxImageに色んなオブジェクトアクセス参照用にプロパティ付けようもんなら、
TxxImageが依存するものが増えちゃう。
329デフォルトの名無しさん:2008/01/23(水) 17:08:48
>>326
なるほろ。イベントハンドらの指定はわかりました
利点についてはまだ納得できるレベルに到達していないので精進致します

>>327
それならイベントからフォームをアクセスしたい場合に困ったりしないですか?
330デフォルトの名無しさん:2008/01/23(水) 17:11:07
あー、イベントから他のコントロールへのアクセスは考えてなかったわ/ ,' 3  `ヽーっ
331316:2008/01/23(水) 17:13:40
氏ぬんじゃない
332デフォルトの名無しさん:2008/01/23(水) 17:18:43
しかし皆さん色々とうまい方法を持っていますよね
久々に良い勉強になりますた(;´Д`)
333デフォルトの名無しさん:2008/01/23(水) 18:23:00
BCB5で起動直後メインウィンド以外のフォームをShowModalで表示するとき
一番いいと思われる方法はどんなものがありますか?
おしえてエロい人!
334デフォルトの名無しさん:2008/01/23(水) 18:27:55
起動直後に、

Form2->ShowModal();
335デフォルトの名無しさん:2008/01/23(水) 18:31:40
>>334
ありがとうエロい人!
Application->Run();の直前あたりに書くの?
そうするとメインウィンドは表示されるの?
336デフォルトの名無しさん:2008/01/23(水) 18:36:18
マルチスレッドじゃないんだから、Runの前じゃそこでダイアログが表示されるだけだろ

フォームにタイマーでも入れて、最初の1回目でやればいいじゃない
337デフォルトの名無しさん:2008/01/23(水) 19:01:25
Idle
338デフォルトの名無しさん:2008/01/28(月) 09:12:55
OnCreateでメッセージ投げるとか
339デフォルトの名無しさん:2008/01/29(火) 00:39:40
>333はきっとスプラッシュウィンドウを出したいんじゃないかな、と勝手に考えてみたり。
Delphiならそのフォームをinitialization部でCreate/Show/Updateして、そのフォームの
OnDeactivateイベントでReleaseとするのが定石なんだが。C++Builderだと
initialization部にあたるのはどこなんだろう?
340デフォルトの名無しさん:2008/01/29(火) 08:42:09
スプラッシュなら、それこそ何時でも好きなタイミングで表示してくれって感じだが。
341デフォルトの名無しさん:2008/01/29(火) 09:58:47
initialization部相当は
クラスのインスタンスをグローバル領域で定義して、そのコンストラクタでやるとか
342デフォルトの名無しさん:2008/01/29(火) 19:25:47
>>339

WinMain関数のApplication->Initialize();の後ろ辺りでnew/Show/Update。
表示後にメインフォームとか作ってApplication->Run();の前辺りでClose
343デフォルトの名無しさん:2008/01/29(火) 20:02:10
だからcloseはIdleでやるつってるだろ!!このばかちんが!
344デフォルトの名無しさん:2008/01/29(火) 21:02:43
C++Builder 6を使っているのですが。
TPageControlで最後のページを削除した後、
先頭のページがアクティブになってしまいます。
そうでなくて、削除したページの一個前をアクティブに
したいのですが、どうすれば良いでしょうか。
以下のコードだと、一瞬変な表示になってしまいます。
ちなみに最後のページ以外は、普通にdeleteすれば
そのような現象はおきません。

//最後のページを削除
TTabSheet *pLastPage = PageControl1->Pages[PageControl1->PageCount -1];
delete pLastPage;
//先頭のページがアクティブになってしまうので、
//最後のページがアクティブになるように選択
PageControl1->ActivePageIndex = PageControl1->PageCount -1;
345デフォルトの名無しさん:2008/01/30(水) 03:38:47
一個前のページをアクティブにしてから削除してもダメ?
346デフォルトの名無しさん:2008/01/30(水) 08:40:05
スプラッシュウィンドウごとき、そんなに凝ったり議論したりするものでない。

出て消えれば、おk。
347デフォルトの名無しさん:2008/01/30(水) 10:01:09
>>345
344です。
一個前をアクティブにしても、結局先頭がアクティブになってしまいます。
C++BuilderのIDE自体は何気に出来てるのに、そのコンポーネントで出来ないとは、
いやな感じだ。
348デフォルトの名無しさん:2008/01/30(水) 10:13:34
TPageControl::RemovePage()をオーバーライドしないと無理っぽい
349デフォルトの名無しさん:2008/01/30(水) 10:22:34
delete pLastPageの前に、pLastPage->PageIndex = pLastPage->PageIndex - 1 を入れれば?
350デフォルトの名無しさん:2008/01/30(水) 10:36:25
>>349
VCLのソース見るとタブ削除時にページ切り替え動作やってるから駄目だと思うお
351デフォルトの名無しさん:2008/01/30(水) 10:37:23
いや。ソース見た上で言ってるよ。
352デフォルトの名無しさん:2008/01/30(水) 10:45:53
ああ、削除前に最後のページを後ろから2番目に移動させるのか。
353デフォルトの名無しさん:2008/01/30(水) 10:50:09
削除前にタブの順番が変わるけど即時描画じゃないから、入れ替え動作は全く見えないはず。
354デフォルトの名無しさん:2008/01/30(水) 14:39:38
役に立たない答えばっかりですね・・・
355デフォルトの名無しさん:2008/01/30(水) 14:44:27
君が役に立つ答えを言ってもいいんだよ
356デフォルトの名無しさん:2008/01/30(水) 14:53:09
349ので何か不満あんのか
357デフォルトの名無しさん:2008/01/30(水) 14:54:52
>>356
それでいけるはず。
C++Builder6って結構モッサリした仕様のコンポーネント多いよなぁ。
358デフォルトの名無しさん:2008/01/30(水) 16:09:43
344です

//最後のページを削除
TTabSheet *pLastPage = PageControl1->Pages[PageControl1->PageCount -1];
pLastPage->PageIndex = pLastPage->PageIndex - 1
delete pLastPage;

>>349のやり方ですが、大体の場合はうまく行くのですが、
タブをたくさん作って、最後のタブをユーザの操作などで何回も消していくと
タブが表示されなくなり、その状態でタブ表示のスクロール見たいのを
操作すると、中途半端にタブが描画されてしまいます。
Refresh()やInvalidate()などを使っても描画されません。
やはり、最後のタブを消したときに、先頭がアクティブになるのは、
この辺がうまく行かないから、そうしたのではないと考えてしまいます。
359デフォルトの名無しさん:2008/01/30(水) 16:45:16
そういえばIDEのエディタのタブもそうなるな
360デフォルトの名無しさん:2008/01/30(水) 17:00:29
最後のタブ消した時だけ PageControl1->ScrollTabs(1) とか
361デフォルトの名無しさん:2008/01/31(木) 20:25:56
344です
>>360 の内容を参考にして見てソースを修正したところ、
一瞬表示がびくつくのと、右端で最後のタブの表示が半分隠れる
場合があるのですが、描画の不具合などがなくなりました。
もう少し、きれいに動作すればいいのですが。
ScrollTabsの引数は -1 の方が良いみたいです。

//最後のページを削除
TTabSheet *pLastPage = PageControl1->Pages[PageControl1->PageCount -1];
pLastPage->PageIndex = pLastPage->PageIndex - 1
PageControl1->ScrollTabs(-1);
delete pLastPage;
362デフォルトの名無しさん:2008/02/02(土) 21:10:47
ビルダー落としたんだが
各サイトの説明が詐欺でできません。
XPのコントロールパネルからのシステムなんて項目ありませんが
どうするん?
363デフォルトの名無しさん:2008/02/02(土) 21:30:01
もういいやめたクソが
シネよ
364デフォルトの名無しさん:2008/02/02(土) 21:33:18
365デフォルトの名無しさん:2008/02/02(土) 23:23:26
春かと思った
366デフォルトの名無しさん:2008/02/02(土) 23:26:50
うちの大学は春休みだよ
367デフォルトの名無しさん:2008/02/03(日) 10:56:49
まったく初心者に回答すらやらないなんてお前ら醜態をさらしているのか?
俺が醜態を晒しているんじゃない、答える側はお前らだからな。
器の小ささを披露している書き込みが二つだな、恥ずかしい。
368デフォルトの名無しさん:2008/02/03(日) 10:59:29
そのコピペいただき
369デフォルトの名無しさん:2008/02/03(日) 11:02:45
コピペじゃねぇよ
お前がいただくならお前がコピペすんだろ?
まったく、上の奴は相談室で回答しないならここに来るなよ
370デフォルトの名無しさん:2008/02/03(日) 11:03:26
上の奴ってのは>>367とかだよ
371デフォルトの名無しさん:2008/02/03(日) 11:04:33
>>366だよ
372デフォルトの名無しさん:2008/02/03(日) 11:06:50
おっと知的障害の方でしたか
失礼しました
373デフォルトの名無しさん:2008/02/03(日) 11:10:04
>>372
はい身障者差別発言、
まったくどこまで・・・
374デフォルトの名無しさん:2008/02/03(日) 11:11:06
いや文盲か
375デフォルトの名無しさん:2008/02/03(日) 11:12:40
他所でやれ
376デフォルトの名無しさん:2008/02/03(日) 11:16:35
相談室に俺相談者、俺は場違いじゃないけど、チャチャ入れは場違いだ
普通の初心者レベルの質問に春だとか言う場違いな人は荒らしだな
377デフォルトの名無しさん:2008/02/03(日) 11:20:23
他所でやれ
378デフォルトの名無しさん:2008/02/03(日) 11:22:31
もう自演で言い返すのはやめろ、また醜態さらしか。
見ててくだらなすぎる。もともとお前は場違いなんだから、
もう言い返しに必死になってないで去れよ
379デフォルトの名無しさん:2008/02/03(日) 11:26:39
Windowsのコントロールパネルの話ならPC初心者板の範疇だろ。常識的に考えて。
380デフォルトの名無しさん:2008/02/03(日) 11:27:03
暇なの?俺も暇。
381デフォルトの名無しさん:2008/02/03(日) 11:33:30
まだ突っかかってくる辺りがもう・・・
もう最後な、回答してやるのは。
>>379
そんなもん書き方だろ、ボーランドの初期設定からのコントロールパネルの話だし、何言っちゃってるの?
>>380
公言して相手に見せるために言っている辺りがもう・・・

はいここでもうお前らみたいなのとの会話終了、
二度と来るな、書き込みしても放置する
382デフォルトの名無しさん:2008/02/03(日) 11:36:29
(・∀・)
383デフォルトの名無しさん:2008/02/03(日) 11:38:07
ここまで俺の自演
384デフォルトの名無しさん:2008/02/03(日) 11:43:34
ああ、最後にもう一つだけ言っとく。
先に突っかかってきたのはお前らだ。
俺は質問しただけだから、いい迷惑だ。
お前らは醜態から始めちゃったわけだ。
自分で招いておきながらそれに言い返したりして、まったくアホか。
385デフォルトの名無しさん:2008/02/03(日) 11:52:14
362 名前:デフォルトの名無しさん[] 投稿日:2008/02/02(土) 21:10:47
ビルダー落としたんだが
各サイトの説明が詐欺でできません。
XPのコントロールパネルからのシステムなんて項目ありませんが
どうするん?

363 名前:デフォルトの名無しさん[] 投稿日:2008/02/02(土) 21:30:01
もういいやめたクソが
シネよ

364 名前:デフォルトの名無しさん[sage] 投稿日:2008/02/02(土) 21:33:18
>>362
PC初心者
http://pc11.2ch.net/pcqa/

-----------------------------
これで完結してるやん
386デフォルトの名無しさん:2008/02/03(日) 12:29:09
>362とか書いてあることがマジ理解不能なんだけど、俺の日本語能力はここまで落ちてしまったのか?
387デフォルトの名無しさん:2008/02/03(日) 12:41:14
>>386
少しはエスパー能力を磨いてみては?
388デフォルトの名無しさん:2008/02/03(日) 13:06:41
春かと思った
389デフォルトの名無しさん:2008/02/03(日) 13:13:06
ほいで、誰か質問の意味がわかったのか?
390デフォルトの名無しさん:2008/02/03(日) 13:28:53
>>389
WindowsXPのコントロールパネル内のシステムのアイコンが見つけられません><

じゃないん?
391デフォルトの名無しさん:2008/02/03(日) 13:32:37
あ、それでいいのか。ボーランドのどうこうって言うからまた別物かと思ってた。
392デフォルトの名無しさん:2008/02/03(日) 22:05:28
開発環境はTurboC++Builderで、
DirectXを使うのにお勧めな環境やライブラリを教えてください
393デフォルトの名無しさん:2008/02/03(日) 22:25:42
Direct3Dとかでゲーム開発するならVisualStudioがおすすめかな>環境
あくまでもBCBでやりたいならとりあえず↓あたり
ttp://www.clootie.ru/cbuilder/index.html
394デフォルトの名無しさん:2008/02/03(日) 22:33:00
>>393
ありがとう 調べてみます
395初心者:2008/02/05(火) 21:00:06
Button に Color プロパティがありませんぞ。
どうやって色を設定するのでしょうか。
396デフォルトの名無しさん:2008/02/05(火) 21:47:38
TButtonをOwnerDrawするかTGraphicControlを派生して自作
397デフォルトの名無しさん:2008/02/05(火) 21:48:32
TButtonをOwnerDrawする方法はぐぐればDelphiのソースが簡単に見つかる
398デフォルトの名無しさん:2008/02/05(火) 22:47:16
>395
まぁそういうことなのだが、Microsoft的にはそういうことをしてほしくないらしい。
VisualStyleを適用するとOwnerDrawもうまくいかないような。
399デフォルトの名無しさん:2008/02/06(水) 12:00:36
TImageListで設計時にイメージを追加するとイメージがTImageListのWidthやHeightより
大きい場合縮小して格納とかできますが
これをコードで追加する場合はどうすればいいですか?
400デフォルトの名無しさん:2008/02/08(金) 10:32:26
エクスプローラのフォルダツリーのようにTListViewにフォルダツリーを作ったのですが
そこで指定したパスのノードを開く方法を教えてください
401395:2008/02/09(土) 14:14:51
いろいろありがと。>396 >397 >398
visual studio だと簡単にできるのになぁ。
XMLだとか
ドラッグアンドドロップだとかも
簡単にはできないのはちょっと不満。
402デフォルトの名無しさん:2008/02/09(土) 14:36:48
Visual StudioってかC#だろう?簡単に出来るのは。
403デフォルトの名無しさん:2008/02/09(土) 14:38:31
C# つか.NETか。
404デフォルトの名無しさん:2008/02/09(土) 14:48:49
>>401
VSでVC++とMFCでそのセリフを吐いてみろ
自分がどれだけラクチンにC++を書いてるのかわかる
405デフォルトの名無しさん:2008/02/09(土) 14:59:18
ダイアログベースならよゆーっすよw
406デフォルトの名無しさん:2008/02/09(土) 15:19:56
配置が楽なだけじゃん
407デフォルトの名無しさん:2008/02/09(土) 16:31:18
いや、でも、VCLより確実に楽
408デフォルトの名無しさん:2008/02/09(土) 16:39:25
色ボタンなんてコンポ拾って張りゃいいじゃん
409デフォルトの名無しさん:2008/02/09(土) 16:45:52
それかえって手間だと思う。
コンポーネントの管理がやりづらいからなぁ。
410デフォルトの名無しさん:2008/02/09(土) 16:53:30
一回登録するだけじゃん。てかそんな事のためにVC使うとか自体あほらしいけど。
411401:2008/02/09(土) 17:18:45
>>404
それそれ。
MFCのウワサは聞いてるから
最初から手を出してない。だから C++ は
C++ builder に手を出した。
でも C# はホント、楽だよ。
412デフォルトの名無しさん:2008/02/09(土) 17:43:42
日本語より英語は楽、とかいっても意味はないね
413デフォルトの名無しさん:2008/02/09(土) 17:55:33
( ゚д゚ ) マアマア
414デフォルトの名無しさん:2008/02/09(土) 18:08:35
言語仕様にライブリラリを含めた総合的な生産性で判断して楽とか
言ってんじゃないの?
何、その日本語より英語は楽とかとう例え。頭悪そう。
415デフォルトの名無しさん:2008/02/09(土) 18:13:11
楽とかとう ( ゚д゚ ) マアマア
416デフォルトの名無しさん:2008/02/09(土) 19:49:34
>>411
.NET系の生産効率の高さは周知だよ
C#に限らずVBでもC++/CLIでもね
WinForm使う限りGUIはラクチン
CGもついてるし
なんだけどね……

初学者がいきなりVC+MFCは敷居高すぎるのは確か
BCBなんかでC/C++に慣れてから
MFC+Win32APIの海へ漕ぎ出した方がいい
417デフォルトの名無しさん:2008/02/09(土) 20:44:03
コンポーネントを1回登録するだけ
マジでそれが理想だけど色々と面倒だよね、あるプロジェクトだけで使えるコンポーネント
とか簡単に指定できればいいのに
418デフォルトの名無しさん:2008/02/09(土) 21:31:36
色々ってナニよ。1回登録したら再インストールするまで何もしてないぞ。
419デフォルトの名無しさん:2008/02/09(土) 22:00:36
ぜーんぶまとめて1つのパッケージに入れちゃう人もいるみたいだねぇ。
420デフォルトの名無しさん:2008/02/10(日) 01:06:34
BCBを再インスコしてコンポーネントを入れてたときに作ったコンポーネントを使ってないプロジェクトを開くとエラーになる
421デフォルトの名無しさん:2008/02/10(日) 02:52:19
名前ぶつかったり、コンポーネントは厳選しないとろくなことがないよ。
422デフォルトの名無しさん:2008/02/10(日) 08:03:03
>MFC+Win32APIの海へ漕ぎ出した方がいい

これをやる必然性が0。

>.NET系の生産効率の高さは周知だよ

大丈夫、ドトネトの事は世の中に知られてないから。

>C#に限らずVBでもC++/CLIでもね

これもウソ。
C丼のバージョンうp嵐どころか、managed C++がヒックリかえったね。
ブビに至ってはユーザーがいないから、スクリプトブビ@ドトネトを復活させるとか、割るいとこ鳥。
423デフォルトの名無しさん:2008/02/10(日) 09:17:21
門外漢がドトネトを語るとこんな事言ってしまうという好例
424デフォルトの名無しさん:2008/02/10(日) 14:18:49
VCLの方にろくな進歩がないからストレス溜まってるんだよ
次こそはやっと完全にUnicode対応するそうだけど、おせーよw
425デフォルトの名無しさん:2008/02/10(日) 14:25:28
IBXでUTF-8を楽に扱えるようになるのかい?
426デフォルトの名無しさん:2008/02/10(日) 14:29:25
IBXはーどーだろ、あれそもそももう期待しない方がいいんじゃね
427デフォルトの名無しさん:2008/02/10(日) 17:58:28
>IBXでUTF-8

今でも使ってるよ。
428デフォルトの名無しさん:2008/02/11(月) 00:03:36
再インストールする羽目になった・・・。
また、いちいちプロジェクトファイル編集しなきゃ駄目なのか。
必要ないのに使ってないコンポーネントのlibまで追加するのやめてくれないかなぁ、うざすぎる。
429デフォルトの名無しさん:2008/02/11(月) 00:20:13
TntのDBコントロールにShiftJIS外の文字ぶち込むと盛大に文字化けしてくれる‥‥>UTF-8
430デフォルトの名無しさん:2008/02/11(月) 00:20:44
bprファイルをIDEから編集してもちゃんと保存されないし酷い仕様だよな
後からのことまーったく考えられてないw
431デフォルトの名無しさん:2008/02/12(火) 15:15:59
おしえてください
432デフォルトの名無しさん:2008/02/12(火) 15:16:50
     // 1  . {. . .ヽ. . ヽ. . ',. .ヽヽ
    / .:/ ハ: :!: :.:ト、:.:. :\:...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 /   /  ハ -,.く!
433デフォルトの名無しさん:2008/02/12(火) 15:23:58
いいからさっさと教えやがってください
434初心者:2008/02/15(金) 13:57:33
vista + builder2007 だけど
デバッグモードで実行して
open dialog を開いて
詳細表示にすると
builder が落ちちゃう。
435デフォルトの名無しさん:2008/02/15(金) 14:04:58
そうですか
436デフォルトの名無しさん:2008/02/16(土) 00:33:19
Vistaを窓から投げ捨てろ
437デフォルトの名無しさん:2008/02/22(金) 19:35:04
C++Builder 2007の体験版みたいなのないですか?
RAD Studioは今更JSharpのランタイムが必要とか、トチ狂ったことぬかすので
あまり入れたくありません
438デフォルトの名無しさん:2008/02/22(金) 23:17:33
単独のトライアルはないけど、いずれにせよIDEが使ってるんでJ#ランタイムと.NETは必要だからなぁ。
Turbo C++ Explorerでも同じこと。あきらめれ。
439デフォルトの名無しさん:2008/02/23(土) 12:06:26
しかし、なんでJ#なんて使ったんだろうね
MSですら早々に見捨てたのにw
440デフォルトの名無しさん:2008/02/23(土) 15:10:16
IDEのリファクタリングでMS-Javaをつかった流れらしい。APIを呼び出せるのがMS-Java→J#となった理由だと。
441デフォルトの名無しさん:2008/02/24(日) 09:03:08
Lazarusでさえネィティブでリファクタリング搭載してるのにね
442デフォルトの名無しさん:2008/02/25(月) 14:45:13
Indy10 TIdTcpServerの使い方が解らないです。

http://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;
443デフォルトの名無しさん:2008/02/26(火) 17:55:53
TListViewで任意のカラムを非表示にする方法を教えてくださいよ
444デフォルトの名無しさん:2008/02/26(火) 22:54:58
WinXP BCB5でこんなコードを書くと意図しない結果が返ってくるんですけど、
使い方が悪いんでしょうか?
型を変えてみようとは思うけど、知ってる方いたら教えていただきたい

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が帰ってくる。
445デフォルトの名無しさん:2008/02/26(火) 23:44:17
>443
簡単にはいかないんじゃないかなぁ。ListView_DeleteColumn/ListView_InsertColumnの
組み合わせで頑張るしかないと思う。
446デフォルトの名無しさん:2008/02/27(水) 10:47:50
>>443
Width=0

>>444
あたりまえの結果じゃん。
マジで理解できなのか、それとも釣りなのか?
マジで理解できないのなら、初心者スレに逝った方が良し。
447デフォルトの名無しさん:2008/02/27(水) 10:55:47
目が悪いなら眼科池。頭が悪いなら仕方ないけど。
448デフォルトの名無しさん:2008/02/27(水) 11:08:47
>>446
当たり前の結果なの?
もう一度勉強してみるよ・・。
449デフォルトの名無しさん:2008/02/27(水) 11:16:19
6はちゃんとtrue返すから、5のバグだと思うけど、
それとは関係なくvector<bool>は使わないほうがいいと、
なんかの有名な本に書いてるらしい。
450デフォルトの名無しさん:2008/02/27(水) 11:23:24
>それとは関係なくvector<bool>は使わないほうがいいと、

kwsk
451デフォルトの名無しさん:2008/02/27(水) 12:06:02
>>450
&v[0] が bool* ではない
452デフォルトの名無しさん:2008/02/27(水) 13:25:42
>>449
Effective STLの第18項だな
vector<vool>はproxy classを使っているのでよくないんだと
453デフォルトの名無しさん:2008/02/27(水) 13:26:49
>proxy class

サンクス & kwsk
454デフォルトの名無しさん:2008/02/27(水) 13:36:38
proxy class=代理クラス

More Effective C++ 項目30

一般的にはクラスの中にクラスを作って普通ではできないような
操作を行う。
455デフォルトの名無しさん:2008/02/27(水) 14:56:53
442です。Web検索で中華サイトや英文サイトを彷徨った結果、なんとか解決しました。
456デフォルトの名無しさん:2008/02/27(水) 16:47:15
結局おまえらって糞の役にも立たなかったね。あばよ
457デフォルトの名無しさん:2008/02/27(水) 22:48:08
>>449
ありがとう。
VCでやってみてもtrueでした。
なんとなくわだかまりが取れました。
458デフォルトの名無しさん:2008/02/27(水) 22:49:50
つまりRogue Waveのバグか
こいつバグ多いねえ
459デフォルトの名無しさん:2008/02/28(木) 14:15:17
std::fstreamはstd::iostreamから派生しており、std::iostreamは
std::ostreamとstd::istreamから多重継承しています。

しかしstd::ostreamを受け取る関数にstd::fstreamのオブジェクトを
渡してCodeGuardを掛けると多量のエラーメッセージが実行時に
出ます。これって仕方ないのですか?
460デフォルトの名無しさん:2008/02/28(木) 15:04:15
はい
461デフォルトの名無しさん:2008/02/28(木) 15:19:28
糞仕様だな。アップキャストにも対応してないのか
462デフォルトの名無しさん:2008/02/28(木) 15:32:24
はい
463デフォルトの名無しさん:2008/03/01(土) 22:36:44
もしかして、BCBってboost::trim()使えない?
464デフォルトの名無しさん:2008/03/02(日) 14:12:27
はい
465デフォルトの名無しさん:2008/03/03(月) 08:23:42
いいえ
466デフォルトの名無しさん:2008/03/03(月) 09:36:59
バージョンくらい書けよ
467デフォルトの名無しさん:2008/03/03(月) 10:12:33
BCB5でTQueryを使って2秒おきにデータを取得しているのですが
数分放置しておくとソフトが落ちてしまいます。
やっていることは
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を使う際になにか注意事項とかありましたら教えてください
468デフォルトの名無しさん:2008/03/03(月) 10:15:17
>>467
例外とかチェックした?
469デフォルトの名無しさん:2008/03/03(月) 10:17:18
2秒でデータを取得が終わる前に、QueryのOpen() を実行したらデータセットがメモリから破棄されて、そこにアクセスしたr落ちるんじゃね?

>TQueryを使う際になにか注意事項

2秒以内に処理が終わらなかったら、処理をスルーするって工夫要るけど。
それに加えてQuery使いまわすんじゃなくて、作り直したら?

Query = new TQuery(this);
try {
 Query->SQL->Clear();
 //処理
__finally {
 delete Query;
}
470デフォルトの名無しさん:2008/03/03(月) 10:27:48
>>468
try内でやっているのですがcatchにはいかずにそのまま落ちてしまいます
>>469
TTimerで2秒間隔でやっていてTimerに入るとタイマーを止めているので
一応DB読み込みが再度呼ばれることはありません。
Queryでテーブル2つを読むより毎回newしたほうがいいのでしょうか?
471467:2008/03/03(月) 10:37:14
ちなみに、Query1でtable1、Query2でtable2と
Queryを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( );
}
472デフォルトの名無しさん:2008/03/03(月) 10:40:44
レコード件数は可変?

1回多くNextしたりするとドカンと落ちる現象はあったような。
473467:2008/03/03(月) 10:50:50
>>472
可変ではありますが
query->First( );
for( int i = 0; i < query->RecordCount; i ++ ){
  query->FieldByName
  query->Next( );
}
としています・・・

ちなみに落ちる場所は同じなのですがタイミングはそれぞれで
1分で落ちる時もあれば5分で落ちる時もあります。
1回目で落ちるということは今のところありませんが・・・
474デフォルトの名無しさん:2008/03/03(月) 10:52:56
>for( int i = 0; i < query->RecordCount; i ++ ){

これ、マズイとオモ。

>while (!Query->Eof) {
みたく、次が有るか無いかの判定じゃないと。

上にも書いたが無いのにNextすると、catchできずにドカンと落ちる。
475467:2008/03/03(月) 10:56:59
>>474
うわー
やっぱりTQueryがまずいんじゃなくて処理がまずいですか・・・
今はレコード数に変化がなくその処理でレコード数が同じだったからいいとおもってましたが
見方がわるかったんですね、ありがとうございます。
その方法で試してみます。
476467:2008/03/03(月) 11:06:02
うう、やっぱりCloseで落ちてしまいます・・・
しかし>>474さんのやりかたはヘルプにも書いてあったので参考になりました。

ちなみにtable1の方のQueryをためしにnewして動的に作成してやってみたところ
今のところ落ちてないです。
うーん、設計時に追加したのと動的にnewしたものと何が違うのかなあ・・・
これtable2もnewで作成したqueryを使う方が安全なのかな・・・
477デフォルトの名無しさん:2008/03/03(月) 11:11:49
>query->FieldByName

してる最中に、該当レコードが消えてる可能性は無いの?
該当レコードが消えるなら、RequestLive を falseにしてる方が良いかなぁ。
478467:2008/03/03(月) 11:30:19
>>477
レコードが消えることはありませんがRequestLiveはtrueにしてます・・・

やっぱりnewで作ったqueryでやると落ちないのですが
これってRequestLiveがfalseだからなのでしょうか???
ちょっと試してみます
479デフォルトの名無しさん:2008/03/03(月) 11:33:28
>newで作ったquery
>RequestLiveがfalse

落ちる原因は分からないが、上記2つを揃えるQueryは氏ぬ程安定する。
480467:2008/03/03(月) 11:43:17
>>479
確かにnewでつくったqueryでは全く落ちなくなりました。
ちなみに、試しに当初のに戻して設計時に追加したqueryで
RequestLiveをfalseにしてやっているのですが
これもまた今のところ落ちていません。
これ2秒毎にDBを読んでいるのですが、DB読み込み時にnewするのと
起動時の最初にnewするのとどちらがいいでしょうか?
481デフォルトの名無しさん:2008/03/03(月) 11:55:35
>DB読み込み時にnewするのと 起動時の最初にnewするのと

Queryをグローバルとして使いまわしはソース読みにくかったりするが、上記2つは大差無いんでわ?
482467:2008/03/03(月) 11:56:07
皆様いろいろありがとうございました。
RequestLiveをfalseにするだけで落ちなくなりました。
なんかこれ片方向しかあれとか書いてたからこれをtrueにしないと
書き込めないとおもってtrueにしてたのですが(この同じQueryで別タイミングで書き込みもしてます)
これselect時のみのあれだったんですね。

ちなみにUniDirectionalはtrueでいいのでしょうか?
メモリ節約になるとかかいてますので
483デフォルトの名無しさん:2008/03/03(月) 11:57:26
>ちなみにUniDirectionalはtrueでいいのでしょうか? メモリ節約になるとかかいてますので

聞いた事歩けど、気にしたことは無い。
484467:2008/03/03(月) 11:58:23
>>481
そうなんですよね、グローバル化は見づらくなるのですが
なんというか2秒毎にnewしてdeleteしてって繰り返しても大丈夫なのかなとか・・・
1ヶ月とか放置するので何か昔のmallocのイメージがあってちょっと不安になったので
485デフォルトの名無しさん:2008/03/03(月) 12:05:13
>なんというか2秒毎にnewしてdeleteしてって繰り返しても大丈夫なのかなとか・・・

大量のnewや大量のdeleteは性能に関係するかも知れないが、
2秒にnewとdelteの嵐なんてC++ではちょーふつーできごと。
486467:2008/03/03(月) 13:08:40
>>483
これはtrueのままでも落ちるのとは無関係みたいなのでそのままにしておきます。
>>485
あ、そうなんですか。それを聞いて安心しました。
まあVCL使ってると内部で山ほどしてるでしょうし問題ないですよね。
487デフォルトの名無しさん:2008/03/03(月) 13:10:45
>大量のnewや大量のdeleteは性能に関係するかも知れないが、

正しくは、
>超大型メモリのnewやdeleteは
かな。
488デフォルトの名無しさん:2008/03/04(火) 01:01:59
心配してるのは断片化だろ? サイズの違うメモリーを確保・開放を続けると
メモリの利用箇所が虫食いになって最後は使えなくなるという。

これは今の組み込みや、昔のPCのようにメモリ容量の制限がキツイと困る問題だけど
必要なメモリの何10倍もある現代のパソコンでは問題にならない。
489デフォルトの名無しさん:2008/03/04(火) 02:14:05
Windowsなら・・・きっとWindowsなら何とかしてくれる・・・

そう信じてnew-deleteしまくってます。。。
490デフォルトの名無しさん:2008/03/04(火) 03:19:28
newとdeleteをオーバーロードしてオブジェクトプールから取り出すようにする
491デフォルトの名無しさん:2008/03/04(火) 07:24:38
>>488
こういう例もありましてね
ttp://www.yoshidam.net/diary/200410.html#d05
492デフォルトの名無しさん:2008/03/04(火) 08:44:15
>心配してるのは断片化だろ? サイズの違うメモリーを確保・開放を続けると
>メモリの利用箇所が虫食いになって最後は使えなくなるという。

コンパイラが、スタックエリア、ヒープエリアを確保しているだろうから、それはない。

493デフォルトの名無しさん:2008/03/04(火) 18:18:24
ForceDirectoriesが未解決ってエラーが出るのですが#include <FileCtrl.hpp>以外に何か必要なことってありますか?
494デフォルトの名無しさん:2008/03/05(水) 08:15:12
ヘルプを見なさい
495デフォルトの名無しさん:2008/03/05(水) 10:24:54
知らないならレスしないでウザイだけです
496デフォルトの名無しさん:2008/03/05(水) 16:44:19
そうですね。知らないなら回答すべきではないです。
でも俺は知ってるからレスしました。ヘルプを見なさい。
497デフォルトの名無しさん:2008/03/05(水) 22:30:41
>>495
ヘルプ読めないなら来ないで邪魔です
498デフォルトの名無しさん:2008/03/06(木) 08:03:09
わからない七大理由

1. 読まない ・・・説明書などを読まない。読む気などさらさらない。
2. 調べない ・・・過去スレ、ググるなど最低限の内容も自分で調べようとしない。
3. 試さない ・・・めんどくさいなどの理由で実行しない。する気もない。
4. 理解力が足りない ・・・理解力以前の問題で理解しようとしない。
5. 環境のせいにする ・・・自分が悪いのではなく環境が悪いと責任転嫁する。
6. 人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。
7. バカだから ・・・バカだから。

499デフォルトの名無しさん:2008/03/06(木) 10:31:56
へたれな事ですみません。。
BorlandC++Builder6を使用しています。
コンポーネントの端に「Office2k」があって、Work,Excel,Access等の制御ができそうなものがあります。
ヘルプやキーワードにも見当たらず、使い方がいまいちわかりません。
田舎にしては大きな本屋で調べても、「Office2k」に関するものはみあたりませんでした。
てか、Borland自体少ないですし。
どこかにリファレンスや参考になる資料はないでしょうか。
教えてください。
お願いします。
500デフォルトの名無しさん:2008/03/06(木) 10:35:15
1つ抜けていたので追記します。
使用したいOfficeはAccessです。
ごめんなさい。。
501デフォルトの名無しさん:2008/03/06(木) 10:52:26
グg(ry
502デフォルトの名無しさん:2008/03/06(木) 10:59:07
各種検索サイトも見たのですが、リファレンスらしきものは発見に至りませんでした。
Excelの使用サンプルはあったのですが、Accessで使用したいことに応用はできませんでした。
どのコンポーネントをどう使えば、どうなるのかさっぱりなんです。
皆様からみればアホみたいな事ですみませんが、なにか知っていることがあれば教えてください。
お願いします。
503デフォルトの名無しさん:2008/03/06(木) 11:28:38
具体的に何を実現したいのかを聞くのが当たり前だと思うのだが。
具体的に何を実現したいのかさえわからないのかね。
504デフォルトの名無しさん:2008/03/06(木) 11:31:31
何がしたいのかは上にも書きましたが、使い方を知るためのリファレンスを探しています。
解りにくくてすみません。
505デフォルトの名無しさん:2008/03/06(木) 11:40:44
506デフォルトの名無しさん:2008/03/06(木) 11:56:00
微妙じゃね
507デフォルトの名無しさん:2008/03/06(木) 12:25:30
ググって実質80数件しか出ないコンポは茨の道な気ガス
508デフォルトの名無しさん:2008/03/06(木) 12:27:57
まあCOMコンポーネントだから、リファレンスならMSDN見るのが一番でない。
ぱっと見VBAのしか見当たらないけど。オブジェクトやメソッドの意味は調べられるし、
タイプライブラリから機械的にクラス作ってるだけだから、出来る事は同じはずda。
509デフォルトの名無しさん:2008/03/06(木) 12:35:23
ACCESS扱うだけならコンポーネントなんて通さなくても自分でソース書いた方が楽
510デフォルトの名無しさん:2008/03/06(木) 12:43:39
やることはほとんど同じだけどな
511デフォルトの名無しさん:2008/03/06(木) 12:50:31
C++Builderのコンポーネントは単なるOfficeのオートメーションサーバーのラッパークラスに
すぎないから、ラッパークラスのメソッド名やプロパティ名は元のオートメーションサーバーのそれと
ほぼ同じはず。つまりは、VBやVBAとほぼ同じ。
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/arch_default.asp
から、「MSDN ライブラリ アーカイブ」->「Office ソリューション開発」たどれば、よろし。

512デフォルトの名無しさん:2008/03/06(木) 13:04:21
COM関係は自分で理解して書いた方が楽だね
そもそも付属のコンポ、マトモに動作するかすら疑わしい
513デフォルトの名無しさん:2008/03/06(木) 13:49:22
人が手で書いたものじゃないんだぜ。getter/setterをプロパティにしたり、インターフェースを
スマートポインタで包んだだけのもの。
514デフォルトの名無しさん:2008/03/06(木) 14:01:46
まぁ、アーリーバインディングを行う場合は、C++Builderのタイプライブラリ
インポーターを使ってラッパ作成しないと死ぬが、
実際はそこまで速度要求するとは思えないからバリアントを使ったレイトバインディングで十分だとは思う。
アーリバーインディングはサーバーの特定のバージョンに依存しちゃうしね。
515デフォルトの名無しさん:2008/03/06(木) 14:29:26
514だけど、514の発言は気にしないでくれ。ここは、C++Builderのスレね。Delphiメインな
俺はC++Builderにバリアントなんてあるのか知らん。めんご。

516デフォルトの名無しさん:2008/03/06(木) 14:50:10
拡張キーワードみたいのはなくて、クラスで表現してるから見た目はいまいちだけどあるよ。

Variant v = Variant::CreateObject("Access.Application");

v.OlePropertySet("Visible", true);
517デフォルトの名無しさん:2008/03/06(木) 15:00:52
普通のサンプル利用するならTVariantの方がわかりやすいかもしれん
Variant、OleVariant、TVariant、好きなの使えw
518デフォルトの名無しさん:2008/03/06(木) 15:09:53
504は既にみんなが何を書いてるのかすら理解に苦しんでるかもしれんw
519デフォルトの名無しさん:2008/03/06(木) 15:39:16
すみません、他のモジュール書いてました。。
VB等とプロパティが同じなら、そこから追えそうです。
ありがとうございました。m(_ _)m
520デフォルトの名無しさん:2008/03/07(金) 18:35:05
C++Builder2007にはIBXついてますか?
521デフォルトの名無しさん:2008/03/07(金) 18:37:24
え”、付いてなかったら、自分自滅するお!
522デフォルトの名無しさん:2008/03/11(火) 10:39:39
DBGridで行毎に色を変える方法を教えてください
523デフォルトの名無しさん:2008/03/12(水) 16:40:12
InterBaseのコンポーネントは一通りあるよ。C++Builder2007 Professional。
使ったこと無いけど。
524デフォルトの名無しさん:2008/03/12(水) 18:16:20
>>522
TDBGrid使ったことないけど、多分TDBGrid::OnDrawDataCellで記述する。
525デフォルトの名無しさん:2008/03/12(水) 18:37:11
>>524
確かに色を付けることはできるのですが
イベントに来たときのRowはどうやって取得したらいいですか?
526デフォルトの名無しさん:2008/03/12(水) 21:02:04
>>525
こういうことをしたいのかな?
ttp://dn.codegear.com/jp/article/28144
527デフォルトの名無しさん:2008/03/13(木) 10:04:57
>>526
そうそうそれです!
色の塗り方はわかるのですがイベントに入った時のRow又はレコード位置がわからないので
奇数行ならっていう条件がわからなくて・・・
それと色を塗るとテキストが消えてしまうのでStringGridみたいに
Cellsから値をとってTextOutできないのでやはりレコード位置から
データを持ってくる必要がありますか?
528デフォルトの名無しさん:2008/03/13(木) 10:06:55
と、思ったのですが>>526さんのリンクにしっかりやりかた書いてますね・・・
ありがとうございました。
参考にさせていただきます
529デフォルトの名無しさん:2008/03/13(木) 10:38:43
うーん・・・
やっぱりColumn->Field->DataSet->RecNoが常に-1になってしまって
行の判別ができないです・・・
何故RecNoが-1になっちゃうのでしょうか?
530デフォルトの名無しさん:2008/03/13(木) 12:35:54
データベースによってはRecNoは無効になる。というかそういうRDBMSのほうが多いのでは?
531デフォルトの名無しさん:2008/03/13(木) 13:19:28
ヘルプにも-1になるって書いてますねこれ。
TQuery使ってるのですがどうやってレコード番号というか
グリッドの行を識別したらいいんでしょうか
532デフォルトの名無しさん:2008/03/13(木) 15:37:18
RDBのテーブル設計で、Int型のレコード番号つけてそれをプライマリキーにするだろ、jk。
533デフォルトの名無しさん:2008/03/13(木) 15:46:02
そんな頭の悪いレスを望んではいません
534デフォルトの名無しさん:2008/03/13(木) 17:36:52
イベントハンドラでセルのTop座標が受け取れるので、それをセルの高さで割って見てはどうだろう
535デフォルトの名無しさん:2008/03/13(木) 17:40:14
す、スクロールしていたら・・・
536デフォルトの名無しさん:2008/03/13(木) 21:40:07
VCLコンポーネントでマルチスレッドをする方法はないでしょうか。
TImageがフォームに二つあり、極端に大きな画像を両方に読み込ませたいとか。
537デフォルトの名無しさん:2008/03/14(金) 07:49:21
互いに別の空間で動いていたら問題ないけどね
同じメモリをアクセスする場合は1wordアクセスにするか、出来ないなら排他処理する。
メソッドポインタが2wordになる事に注意して書けば大丈夫でしょう。

Loadする場合は、
1, まずParentを外し、フォームの参照をnilにしておく。
(フォームでそのImageを間違って参照しないように)

2, LoadFromFileまでは別スレッドで行う為の 1word のグローバル変数のフラグを立てる
3,読み終わったら、そのスレッドからフォームにメッセージを送る。
 メッセージでフォームの参照とParentを元にも戻す

A,B 2つある場合は、それぞれフラグを別にして、読み込みスレッドは1つで
片方が処理終わってからフラグを見てBを読む。
538デフォルトの名無しさん:2008/03/14(金) 08:02:57
ここはBuilder相談室。
539デフォルトの名無しさん:2008/03/14(金) 08:25:35
>>536
JPEGやらPNGやらで展開処理が重くてマルチスレッド(マルチコア対応)化したいというのなら
展開用スレッド作ってそれぞれ展開してsynchronizeだかなんだかでVCL割り込んでフォームのTImageに紐づければよくね?
540デフォルトの名無しさん:2008/03/16(日) 18:24:15
いつも御世話になります。
フォームを徐々に透明化して行きフェードアウトするコードを書いています。
for文がPCの処理に依存している為、
どんな環境でも(ある程度)同じ間隔で
透明度の変化を希望しています。
なにか良い手はないでしょうか?
システム版画利案が痛いですが。ソース晒します。

for(int it=100;it>0;it--){
fmShow->fcfmShowTransparency(it);
Sleep(1);
Application->ProcessMessages();
}
void __fastcall TfmShow :: fcfmShowTransparency(int intTransparency){
//ツールチップの透明度を設定
int intMyTransparency=(int)((double)intTransparency*2.55); // *255/100
fmShow->AlphaBlendValue=intMyTransparency;
}
環境winXP bcb2007
541デフォルトの名無しさん:2008/03/16(日) 19:44:40
>>540
::Sleep()で時間稼ぐとか
542デフォルトの名無しさん:2008/03/16(日) 19:51:31
>>540
フェードアウトに掛ける時間を決めて、経過時間から不透明度を設定するというのは?

// 1000msでFO(簡略化コード。※バグあり)
DWORD dwStart = ::timeGetTime();
while( 1 ){
  int nOpaque = 255 - ( ( ::timeGetTime() - dwStart ) * 255 ) / 1000;
  if( nOpaque < 0 ){
    break;
  }
  Form->AlphaBlendValue = nOpaque;
  Application->ProcessMessages();
  ::Sleep( 1 );
}
Form->AlphaBlendValue = 0;

時間が厳密じゃなくてもいいのなら、タイマイベントでいいと思うけど。
543デフォルトの名無しさん:2008/03/16(日) 20:05:48
::AnimateWindow(Handle, 1000, AW_HIDE | AW_BLEND);
544デフォルトの名無しさん:2008/03/16(日) 20:32:44
>>541>>542>>543
ありがとうございます。
AnimateWindowが正解でした。
レベルが低くて申し訳ないです。
545デフォルトの名無しさん:2008/03/16(日) 22:01:36
AnimateWindowなんてAPIあったのか・・・俺も使おうかな。
546デフォルトの名無しさん:2008/03/16(日) 22:03:37
 ::Sleep( 1 );
この「::」ってなんですか?
547デフォルトの名無しさん:2008/03/16(日) 22:29:55
Global scope
548デフォルトの名無しさん:2008/03/16(日) 22:33:15
つけなかったらどうなるの?
どんな影響が。。。
気が向いたらオシエテ
549デフォルトの名無しさん:2008/03/16(日) 22:35:02
そのコードの書いてある名前空間内(グローバル名前空間内でないとする)に
Sleep という名前の関数なりなんなりを作った場合に
そちらが使われてしまう。
550デフォルトの名無しさん:2008/03/16(日) 22:54:09
なんとなくわかりました。
551デフォルトの名無しさん:2008/03/17(月) 01:22:12
Vista用の256x256アイコンを含ませる方法ってないですかねー・・・
PNG圧縮のかかった形式でicoに含ませてからbrcc使うとコケちゃうし・・・
552デフォルトの名無しさん:2008/03/17(月) 07:37:48
>>551
VisualStudioを使ってください。中途半端な部分がたくさんあるので
CodeGearの製品はお勧めできません。
553デフォルトの名無しさん:2008/03/17(月) 11:47:07
M$の製品は完璧でうらやましいです
554デフォルトの名無しさん:2008/03/17(月) 12:10:41
VCはいいけどVBは糞だったなぁ
555デフォルトの名無しさん:2008/03/20(木) 09:49:27
AnimateWindowの質問したやつですが、
AlphaBlendValueで半透明状態からの
フェードアウトアニメーションはできるものでしょうか?
AnimateWindowは255から0にしかならないものですか?
ちょっと確認したくて。BCB2007 winXP
556デフォルトの名無しさん:2008/03/20(木) 11:47:32
>>555
XP使ってるなら自分で確認できるんじゃね?
557デフォルトの名無しさん:2008/03/20(木) 12:17:15
もちろんそうなんですが、できないと思ったからです。
AnimateWindowの仕様かもしれませんが、
もしできないのであれば、>>542さんの
ソースでやるしかないので、確認です。
ぐぐってもピンとこなかったので。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form1->AlphaBlend=true;
Form1->AlphaBlendValue=200;
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
::AnimateWindow(Form1->Handle,1000, AW_HIDE | AW_BLEND);
}
自己中で申し訳ないです。
558デフォルトの名無しさん:2008/03/20(木) 13:41:28
>>529
ClientDataSetを使えばいいんじゃなかったか。
559デフォルトの名無しさん:2008/03/21(金) 20:24:13
Builder2007使ってるならフォームのAlphaBlendValueを
タイマーとかでループで減らしていけばいいんじゃね?俺はそうしてるよ
560デフォルトの名無しさん:2008/03/21(金) 23:23:18
そうなんです。はじめはループさせてフェードアウトさせていいたのですが、
アニメーションを教えてもらったが、
半透明だとうまく動かない。
やっぱり動かないの?っていうことです。
お騒がせしました。
次の相談どうぞ
561デフォルトの名無しさん:2008/03/24(月) 10:07:35
Builder2007ってXP Homeじゃインスコできませんか?
562デフォルトの名無しさん:2008/03/24(月) 20:11:16
>>561
いけるんじゃね?
試して報告よろ
http://www.codegear.com/jp/downloads/free/cppbuilder
563デフォルトの名無しさん:2008/03/25(火) 14:52:15
HomeでもSP2ならいけますた。SP1はインスコ途中でダメって出てインスコできんかった
564デフォルトの名無しさん:2008/03/25(火) 20:47:25
よくできました!
565デフォルトの名無しさん:2008/03/27(木) 10:59:13
2007って以前の5とか6みたいな画面にできない?
画面構成変わってめんどいんだけどこれー
566デフォルトの名無しさん:2008/03/27(木) 12:13:41
BCB6をインストールして、コンパイラとライブラリ一式だけBCB6上に上書きするとか
567デフォルトの名無しさん:2008/03/27(木) 12:16:47
埋め込みデザイナのチェックを外せ
568デフォルトの名無しさん:2008/03/27(木) 13:29:21
>>566
いや6もってないし
>>567
とりあえずデザイナだけは埋め込みじゃなくなったけど・・・

デザイナとオブジェクトインスペクタとソースは別窓にしてOK
しかしツールバーとかあの辺がうざいー
しかもこれつねに他の窓の下にくるからツールパレットがソースの下に隠れてつかえね
かといって横表示にしたら文字があれしてうざいし
以前のようにタブで選択できればいいんだが・・・
569デフォルトの名無しさん:2008/03/27(木) 13:41:56
うーん、エディタ窓を切り離したい
570デフォルトの名無しさん:2008/03/27(木) 13:45:27
あ、さっき別窓であれしたらだめだったのに今度でけた
571デフォルトの名無しさん:2008/03/27(木) 13:49:14
あ、やっぱダメかあ
これソースを別窓でひらいたらそのソースだけかよ
めんどくせー
572デフォルトの名無しさん:2008/03/27(木) 13:58:29
ソースを別あれにするのは諦めた、この糞仕様は涙を飲んで我慢しよう

しかし、しかしだ!
VCLデザイナを分離させると常に前面表示なのは納得いかねえ!!
これソースにかぶるとみえねーじゃないか!!
エロいおっさんVCLデザイナがソースの背面にいく方法をおしえてくれ
573デフォルトの名無しさん:2008/03/27(木) 17:40:10
とりあえず、埋め込みデザイナをオフにして慣れるのが一番。
そうすれば、いつでもVisual Studioに移行できる。
574デフォルトの名無しさん:2008/03/27(木) 21:08:29
ある外部DLLを使ってるのですが、
このDLLは内部でスレッドを作っていて、更にそのスレッド内で例外が起きてもcatchしてないようで
本体のEXEまで巻き添えになって死亡してしまいます。

こういうヤヴァイDLLでもEXEが巻き添えになって即死しない方法はありますか?
EXEはBCB製ですが、DLLは何で作ったか解らずソースもないので変更できません。
575デフォルトの名無しさん:2008/03/27(木) 21:26:45
>>574
DLL呼び出し部を別プロセスに分けて、共有メモリとかプロセス間通信を使って本体とデータをやりとりするとか・・・
576デフォルトの名無しさん:2008/03/28(金) 00:14:01
プロセス間通信ってむずかしいですか?
プラグ印をつくるには、dllで提供されるとおもうのですが、
素人にはexeが作りやすい。
できるだけ気軽にプラグ印開発するのに、
親exe+dllではなく、親exe+子exeという格好に
実装したフリーorシェアってありますか?
用途は親が小難しいことやって、プラグ印フォームで
情報表示。ユーティリティーなんて実現可能なものでしょうか?
577デフォルトの名無しさん:2008/03/28(金) 10:58:11
>プロセス間通信ってむずかしいですか? 
別にそれほど
設計を間違えなければ

>実装したフリーorシェアってありますか?
さぁ?
コントロールパネルのスクリーンセーバーのプレビューはそれに近いかも

>情報表示。ユーティリティーなんて実現可能なものでしょうか?
可能かどうかっていうと、可能だろう
578デフォルトの名無しさん:2008/03/28(金) 11:48:19
Winampはプロセス間通信で、他のアプリから再生制御したり、情報取得したり出来るようにしてるな。
プラグインというかフロントエンドだけど。
579デフォルトの名無しさん:2008/03/28(金) 12:01:05
ちょwwwwwwww
InternetOpenとかなんだけどBuilder5でちゃんとコンパイルできてたのに
2007でやるとリンカエラーになる・・・
とおもってヘルプみたらlibファイル変わってるじゃん馬鹿!!
まあファイル名を変えたらちゃんとできたんだけど、ころころ変えるなやなあ
580デフォルトの名無しさん:2008/03/28(金) 12:10:15
ちょwwwwwwwwww
Builder5でTPanelのColor変えたら背景色変更してたのに2007じゃ変わらない・・・
これマジでわかんないです、エロい人TPanelの背景色の変え方教えてください
581デフォルトの名無しさん:2008/03/28(金) 12:10:26
>>579
BCBクオリティだな
582デフォルトの名無しさん:2008/03/28(金) 12:30:31
>>576です。
一度調査してみます。
情報ありがとうございました。
583デフォルトの名無しさん:2008/03/28(金) 12:40:14
ニコ堂厨キター
584デフォルトの名無しさん:2008/03/28(金) 13:21:20
ちょwwwwwww
うへwwwww変わったwっうへうへwwwww
オブジェクトインスペクタで一度Color変更してから実行したら動的に変更してもちゃんと色変わったwwwww
なにこの糞仕様wwwwwwwwwwwwwwwwwwwwww
これ他のコントロールも危険っぽいwwwwwwwwwwww
585デフォルトの名無しさん:2008/03/28(金) 14:06:09
書き込みキター
586デフォルトの名無しさん:2008/03/28(金) 17:16:51
>>580
ParetBackgroundやTransparentかな?

ついでに私も質問・・・
Graphics::TBitmap *bitmap = new Graphics::TBitmap();
bitmap->SetSize(SpeedButton1->Width, SpeedButton1->Height);
bitmap->Canvas->Brush->Color = clRed;
bitmap->Canvas->FillRect(TRect(0, 0, bitmap->Width, bitmap->Height));
SpeedButton1->Glyph = bitmap;
こんな感じでやって見ましたがボタンの色が何一つ変わりません。
どなたか教えてくらさい・・・
587586:2008/03/28(金) 17:30:13
あ、超初心者用スレが別に存在するんですね。
向こうで質問しようと思います。
スレ汚しスンマセン・・・
588デフォルトの名無しさん:2008/03/28(金) 17:45:40
> 注意 ビットマップの左下のピクセルは「透過」色用に予約されています。
> ビットマップで左下に位置するピクセルはすべて透過になります。
589デフォルトの名無しさん:2008/03/28(金) 18:51:04
>>586
いやwwwwwwwwwww>>584ですたよ
5からまんま移植してやってたんだけどね
つかSpeedButtonなら予め用意したビットマップを設計時にあれするとかじゃだめなの?
590デフォルトの名無しさん:2008/03/28(金) 19:24:27
>>588
ありがとうございます。
おかげさまで実現できました。

>>589
把握シマスタw
ビットマップは、ボタンのサイズより少し小さく色づけしたいので、今の方法にしようと思います。
591デフォルトの名無しさん:2008/03/28(金) 23:00:00
>>576です
プロセス間通信についてですが、
WM_COPYDATA と
tp://gimite.net/bcbqtree/qtreemain.cgi?mode=thread&thread=628
共有メモリ
tp://ww4.tiki.ne.jp/~yonyon/programing/bcb/tips/tips-api.htm
を拝見して、動作確認できました。管理者に感謝

前者はウィンドウハンドル、後者は任意のユニークなID
1.使い勝手としては後者が使いやすいのでしょうか?
2.また、前者は受け取り側フォームひとつにつきひとつなのでしょうか?

ところで、複数のデータcharとintが4つくらい送りたい場合、
3.やはり、送信側・受信側も4つのID(後者)が必要なのでしょうか?
ひとつのIDでは複数遅れないのでしょうか?

4.また、それが一般的なのでしょうか?
ちょっと世間一般の意見をお伺いしたくて。よろしくお願いいたします。
592デフォルトの名無しさん:2008/03/28(金) 23:00:52
4つのID->5つのID
593デフォルトの名無しさん:2008/03/29(土) 07:33:51

共有メモリと言うと普通は[ファイル マッピング]を使う [名前付き共有メモリ]だと思う。
これなら読み書き出来るメモリを共有する事になる。

2番目はアトム(GlobalAddAtom) グローバルアトムなら確かにプロセス間で渡せるけど
これはメモリ共有というイメージではない。

構造体を送りたいという場合、
アトムで送る場合は、構造体をシリアライズ=文字列化して送ればいい
WM_COPYDATAで送るなら構造体のポインタを送ればいい。
文字列を含む場合は、その構造体にインスタンスが完全に含まれるようにする。
ポインタや参照を含む形では駄目。


WM_COPYDATAは1対1の通信に便利だけど1対1でしか使えない。
グローバルアトムを使う場合も、相手の窓ハンドルを使う限りは1対1になる
ファイルマッピングなら、複数で通信出来る。

他にwindowsにはメールスロットというのがある。CreateMailslot して後はファイルと同じようにするだけ
これは同じPC上のプロセスだけではなく別のパソコンにでも送れる。
594デフォルトの名無しさん:2008/03/29(土) 07:55:27
ああごめん。
2番目は HWND_BROADCAST で全部の窓アプリにメッセージを送ってるから
1対多通信が出来るんだね。
595デフォルトの名無しさん:2008/03/29(土) 10:31:02
たたたいへん参考になりました。
受信側が実装しやすいものを精査して
組み込んでみます。感謝。
MyTipsとして残しておきます。
596デフォルトの名無しさん:2008/03/29(土) 11:10:52
メールスロット、メッセージが来るタイミングを窓へのメッセージで受け取れたら最高なんだけどな
597デフォルトの名無しさん:2008/03/31(月) 10:25:49
>>595
落ち着けw
598デフォルトの名無しさん:2008/03/31(月) 13:44:41
プロセスと通信するより、女の子と通信したいです。
599デフォルトの名無しさん:2008/03/31(月) 14:18:35
TSQLQueryでMySQLからデータの読み書きをしてると
そのうちSQLQuery->OpenやSQLQuery->ExecSQLでEAccessViolationが出るのですが・・・
これを使う際に何か気をつける点はありますか?
Builder2007です
600599:2008/03/31(月) 16:13:48
どうやらTSQLQueryでselect文を発行するとダメっぽい。
updateやinsertならなんぼやっても大丈夫なんですがselectを1回でもするとダメですね。
やっていることは・・・
SQLQuery->SQL->Clear( );
SQLQuery->SQL->Add( "select * from testtable" );
SQLQuery->Open( );
if( !SQLQuery->Eof ){
  val = SQLQuery->FieldByName( "VAL" )->AsInteger;
}
なんですが、突っ込むところはありますか?
601デフォルトの名無しさん:2008/03/31(月) 16:17:52
もうちょっと詳しくデバッグしてどのメソッド読んだ時に落ちてるか
調べなさい。
602599:2008/03/31(月) 16:40:48
>>601
知らないならレスするなクズが
603599:2008/03/31(月) 17:53:23
>>602は僕ではないですよ

今までの検証結果でわかったことは・・・
1.select文だけ
2.update又はinsert文だけ
1,2は各々なら共に何回やってもOKで
updateやinsertをやってから1回でもselectを行うとエラーになります。
このエラーはソフト終了時にコードガードが
リソースリーク: メモリブロック (0x14DB5B0) が解放されていません。
メモリブロック(0x014DB5B0) [長さ: 64 バイト] は SysGetMem
によって確保されました。
と出るのですが・・・
604デフォルトの名無しさん:2008/03/31(月) 19:05:48
あー、それ俺もなったよ。2ヶ月くらい悩んだ。
結果的に自分のプログラムが原因じゃなかった。
よく分からないけどUpdateを当ててからか?なんかそれからおかしくなってたのかも。

解決するか分からないけど30万円で情報を提供してやるw
605599:2008/03/31(月) 19:22:33
>>604
確かに自分のソースはどう考えてもおかしくないですねこれ。
やってることは単純だし、どちらか片方コメントにしたら全く落ちないし

とりあえず、定期的にinsertを行ってる状態でselectするために
SQLQuery->Open( )でこける(何事もなかったかのように素通りしソフト終了時にエラー)
これをSQLTableにかえてみたんだけどやっぱりエラー(´・ω・`)
606デフォルトの名無しさん:2008/03/31(月) 20:26:04
SQLの事はよく分からんけど、俺の場合はプログラムが半フリーズしてて
なんでだろうと、プロジェクトを調べ回ったあげく、とりあえず俺は以下のでリソースリークも半フリーズも直った。

プロジェクトソースの
SetApplicationMainFormOnTaskBar(Application, true);
をコメントアウトしてみて
607599:2008/03/31(月) 20:29:00
>>606
コメントにしてもかわりませんでした><
608デフォルトの名無しさん:2008/03/31(月) 20:31:36
ワロスwww残念だったなw
まぁ頑張ってくれw
609599:2008/04/01(火) 10:47:52
と言うか、try〜catchでcatchに入るだけで終了時にコードガードのエラーが出る
なんですかこれ?Builder2007のバグですか?
610デフォルトの名無しさん:2008/04/01(火) 11:12:10
ヒント:メモリ破壊
611599:2008/04/01(火) 12:20:24
>>610
馬鹿はレスしないで下さい。うざいです。半年ROMってろクズ
612599:2008/04/01(火) 14:20:34
>>611も俺じゃないっす

とりあえず解決しますた
try〜catchは謎だけどSQLQueryはExecuteSQLがあれですた
これ引数省略できるんだけど省略するとコードガードエラーになります(デフォfalse)
問い合わせがパラメータをまったく含まないあれなんでtrueでずっとfkさおf
613デフォルトの名無しさん:2008/04/01(火) 18:21:48
自分証明したければ捨てでいいからトリップつけれ
614599:2008/04/01(火) 18:38:24
>>613
馬鹿はレスしないで下さい。うざいです。半年ROMってろクズ
615デフォルトの名無しさん:2008/04/02(水) 00:29:40
2007使ってるけど、実行したら、
時々オーエスごとフリーズする。
一分後動作しやがる
616デフォルトの名無しさん:2008/04/02(水) 05:14:43
>>615
それ以前に、ちゃんとした日本語で的確な説明ができるように訓練しなさい。
617デフォルトの名無しさん:2008/04/02(水) 07:07:14
>>612=>>611>>614
日頃の行いが悪いとそういうバグだらけのくそな製品をつかまされる。
builder2007に無駄金。
おめでとさん。
618デフォルトの名無しさん:2008/04/02(水) 21:13:14
CoShellWindowsの使い方を教えてください。
delphiで下記のコードをBuilderに移したいのですがうまくいきません。
sw : IShellWindows;
Count : Integer;
途中省略
sw := CoShellWindows.Create;
Count := sw.Get_Count;

CoShellWindows* sw=new CoShellWindows();
Shdocvw::IShellWindows* is=sw->Create(NULL);
int Count=sw->Count;
とすると、コンパイラは通るのですが、3行目でEAccessViolationが発生します。
619デフォルトの名無しさん:2008/04/02(水) 22:33:24
>>616
んーん、実行F9で実行すると、
下のウインドウでぴこぴこっと
複数行出てきて、さぁ、実行だと言う矢先、
フリーズ。タスクバーのブラウザさえ表示できない。

まぁ、結構むちゃなソース実行しているからかもしれないが。
とりあえず、2007の新規プロジェクト立ち上げ、
いちから構築するつもり。bcb5のソースをそのまま使ったのが
いけないのか?

それに、開発しているPCでは動くのに、ゲストOSでも動くのに、
ノートPCに入れたら、動的可変フォームのTImageがうまく描画できない。
ラベルがいいのかなぁ。

はぁ。ま、どうでもいいか
620デフォルトの名無しさん:2008/04/02(水) 22:47:08
>>618
BCB6だとヘッダいじらないとコンパイルすらできないな。
で、コンパイルして実行した結果は問題なかったけど。
Get_Countでも出るの?
621デフォルトの名無しさん:2008/04/02(水) 22:57:48
>>618

TShellWindows *sw = new TShellWindows(NULL);
int Count= sw->Count;

でどうよ
622618:2008/04/02(水) 23:10:54
>>620
そうですかぁ。BCB6ではOKですか。
こちらの環境は、BDS2006です。
自分は、delphiは全然使ったことがないので
delphi のコードは試していないのですが、ぐぐると同様の霊がいっぱい出るので
delphiでは問題ないのだと思います。
ぐぐっても、Builderでの例が1件もないので、悩んでいます。
BCB6でいけるということは、たぶんちょっとした違いなんでしょうから
もう少し試行錯誤してみます。
623デフォルトの名無しさん:2008/04/02(水) 23:12:20
>>621で良さそうだけど、>>618のエラーの原因を一応言っとくと、CreateはCOM用のスマートポインタを
返してるんだけど、それを生ポインタで受けてる事だな。次の行では既にReleaseされてて無効になってる。
_di_IShellWindows is = ... とでもすればいいはず。
624618:2008/04/02(水) 23:19:55
>>621 いけました。
>>623 その通りでした。

TShellWindows *sw = new TShellWindows(NULL);
あるいは
CoShellWindows* sw=new CoShellWindows();
_di_IShellWindows is=sw->Create(NULL);
とすれば、ちゃんと
Countを取得できました。

どうもありがとうございます。
625デフォルトの名無しさん:2008/04/04(金) 17:12:27
TImageかTPaintBoxでスクロールする折れ線グラフ(パフォーマンスグラフみたいなの)を
描画したいのですが、どういうやり方をしたらスムーズにスクロールできますか?
626デフォルトの名無しさん:2008/04/04(金) 17:35:39
つ TScrollBox

もしくは、TFrameにTImageをはっておいて、
TFormにはってあるPanelの上に、
実行時にはる。
627デフォルトの名無しさん:2008/04/04(金) 17:40:27
>>625
ダブルバッファリング
628デフォルトの名無しさん:2008/04/04(金) 18:02:02
>>626
TScrollBoxでどのようにやればいいですか?
>>627
DoubleBuffered?
629デフォルトの名無しさん:2008/04/07(月) 10:26:52
Paintイベントでこんなことやってるんですがコピーされません。なぜですか?
TRect r = PaintBox->BoundsRect;
Canvas->CopyRect( TRect(0, 0, r.right-2, r.bottom-1), Canvas, TRect(1, 0, r.right-1, r.bottom-1) );
630デフォルトの名無しさん:2008/04/08(火) 18:25:46
パッと見だけで適当に答えるけど、
BoundsRect.Right = Left + Width
BoundsRect.Bottom = Top + Height
というのは大丈夫か?

PaintBoxのOnPaintでもFormのOnPaintでも、Canvasを直接参照すると
FormのCanvasになるというのは大丈夫か?

CopyModeも大丈夫か?

TBitmapに描画して、PaintBoxにコピーした方が良くないか?
PaintBoxは描画するエリアを用意するだけで、描画した内容を保存してくれるわけではないよ。
(PaintBox->OnPaintの中だけが全て)
631デフォルトの名無しさん:2008/04/08(火) 18:28:26
>>630
TBitmapからCanvasにアレするようにしました
632デフォルトの名無しさん:2008/04/09(水) 15:08:52
TGraphicControlを継承して描画するアレを作ったのですが
クリックされた時のイベントがほしいのですが記述の仕方がわからないので教えてください
633デフォルトの名無しさん:2008/04/09(水) 15:27:48
クリッコイベントできますた(;´Д`)
634デフォルトの名無しさん:2008/04/11(金) 16:02:33
TImageに背景が白の画像をよみこませて表示しているのですが
この背景を透過する方法を教えてください
635デフォルトの名無しさん:2008/04/11(金) 23:16:39
答えは君の心の中にきっとあるさ・・・・
636デフォルトの名無しさん:2008/04/14(月) 12:18:45
ファイルの列挙を再帰処理で行っています。
_findfirst、_findnextを使用し、ファイル一覧の取得方法はわかりました。
しかし、カレントディレクトリを開始位置としているようです。
指定フォルダを開始点としたいのですが、カレントディレクトリを変更するにはどうすればいいでしょうか?
637デフォルトの名無しさん:2008/04/14(月) 12:48:18
chdirとかSetCurrentDirとかSetCurrentDirectory。
でも、"C:\\Windows\\*.*"みたいな文字列渡せば、別にどこからでも列挙できるよ?
638デフォルトの名無しさん:2008/04/14(月) 12:55:39
>>636
フルパスを渡すのが簡単
639デフォルトの名無しさん:2008/04/14(月) 13:22:58
>>637
なるほど、「*.*」と指定してたのが駄目だったみたいです
ありがとうございました
640デフォルトの名無しさん:2008/04/14(月) 17:24:18
BCB pro 6 なんですが、アプリ実行中にメモリ破壊が発生したかどうか?っていうの調べる方法ありますか?
1万レコードくらい演算してるんですが、演算結果がてきとーに異なるんですよねorz

(今手元にデータがないので結果報告できないんですが、
調べる手段とか手法を今のうちに検討しておきたいんです)
641デフォルトの名無しさん:2008/04/14(月) 17:51:17
CodeGuardは報告してくれない?
642640:2008/04/14(月) 17:53:02
じ、じつは、Del ---> BCBを超長年使いながら、
CodeGuardしたことありませんorz
643640:2008/04/14(月) 18:09:04
CodeGuard のログファイルってどこにできるんでしょうか?
分厚い開発者にもCodeGurad について触れられてないような。。。
644デフォルトの名無しさん:2008/04/14(月) 18:22:55
つーかリアルタイムでIDEにつらつらと出てくるよ
645640:2008/04/14(月) 18:27:35
あ、本当だ。

memcmpでAccess overrun 出まくりなんですが、これ、マズイですか?
646デフォルトの名無しさん:2008/04/14(月) 18:28:44
バグだらけじゃん
647デフォルトの名無しさん:2008/04/14(月) 18:29:24
そりゃマズイさ
648デフォルトの名無しさん:2008/04/14(月) 18:34:08
ありえんw
649640:2008/04/14(月) 18:41:18
逆に言うと、CodeGuardが止まらないプログラムだとメモリ無問題なんだぁ。
なんていうか、こんな便利なものだったとは>CodeGurard

memcmpのAccess overrun でプログラムのメモリを破壊という道筋は思いつかないんですけど、そんな事あるんですか?
650640:2008/04/14(月) 18:43:09
だって、memcmpってメモリに書き込みしないから、スタック壊すなんて無いですよね?
651デフォルトの名無しさん:2008/04/14(月) 18:45:12
なぜ、memcmpのとこだけおかしてく他のwriteしているところは完璧だと思い込めるのだ。
それが最大のナゾだな。
652デフォルトの名無しさん:2008/04/14(月) 18:46:09
バグだらけじゃん
653デフォルトの名無しさん:2008/04/14(月) 18:48:34
今はたまたま動いているかもしれんが
エリア外の参照なんて普通にAccessViolationじゃないか
654640:2008/04/14(月) 18:48:47
バグだらけじゃなくて、memcmpのAOって本当に1行だけですよ。

じゃ、そこ直せばって言われると思うんですが、
実データじゃないとバグ出ないんですよね。
開発マシンじゃ無バグ(現象出てないだけかorz)なんです。

件数多くなれば、memcmpがメモリを破壊する???
655640:2008/04/14(月) 18:49:41
>エリア外の参照なんて普通にAccessViolationじゃないか

あ、なるほど。

でも、読み出しだけなら無問題じゃないの???
656640:2008/04/14(月) 18:51:33
今日のところは、これで失礼いたしますが、
CodeGuardを使えるようになったのは大収穫でした。
有難うございましたorz
657デフォルトの名無しさん:2008/04/14(月) 18:52:01
もう少しOSの事も勉強した方がいいと思うぞ
658デフォルトの名無しさん:2008/04/14(月) 18:53:02
現象だけから見たら、ブチ壊れたポインタ使いながら走ってる典型。
659デフォルトの名無しさん:2008/04/14(月) 19:03:14
特定条件でポインタの初期化が抜けているに90リラ
660デフォルトの名無しさん:2008/04/14(月) 19:24:55
>>659
m9(^Д^)プギャーーーッ
661デフォルトの名無しさん:2008/04/15(火) 10:09:57
質問です
よくウィザード画面てありますよね?
次とか戻るとかの、あれってあたかあも1つのフォームでやってるように見えるのですが
一般的にはどうやってるのでしょうか?
1.同サイズのフォームを用意して次を押されると次のフォームを表示して前のフォームを非表示に
2.PageControlで実行時にタブを非表示にして次を押されると次のタブに移動
これ以外に方法があったら教えてください
662デフォルトの名無しさん:2008/04/15(火) 10:17:12
親フォーム内に子フォーム埋め込んで、次へを押すと子フォームを次のフォームに切り替え。
663デフォルトの名無しさん:2008/04/15(火) 10:45:44
>>662
すみません。どうやって埋め込むんですか?
664デフォルトの名無しさん:2008/04/15(火) 11:13:48
>>663
ボーダーをbsNoneにして
TForm2 *subform = new TForm2(this);
subform->Parent = Panel1; //埋め込みたい位置にパネルなりを配置しておく。
subform->Top = 0;
subform->Left = 0;
subform->Visible = true;
665デフォルトの名無しさん:2008/04/15(火) 11:29:52
>>664
なるほど。
んで次や戻るでフォームを動的にnewして埋め込むと
その場合は次に進んだ時には前フォームの情報は失われるので
自分でファイルなりに保存しておくんですよね?
666デフォルトの名無しさん:2008/04/15(火) 19:47:09
>661
CreatePropertySheetPage()
ただし相当な修羅場を潜り抜けないと使いこなせない。
少なくともリソースについての理解が必要。
667デフォルトの名無しさん:2008/04/15(火) 22:27:22
PageControlでいいじゃん
668デフォルトの名無しさん:2008/04/15(火) 22:31:33
>666の関数をググってみると
VCLはやっぱり神。って思った。
669デフォルトの名無しさん:2008/04/16(水) 10:48:37
>>661
非標準ライブラリの使用がOKならば、JVCLのTJvWizardは?
670デフォルトの名無しさん:2008/04/16(水) 18:04:29
名前を指定してコントロールを取得したいのですが、方法がわかりません
ご教授お願いします
671デフォルトの名無しさん:2008/04/16(水) 18:21:39
名前がわかってんなら、それがコントロールだべや。
なにを聞いているのか意味わかんね。
672デフォルトの名無しさん:2008/04/16(水) 18:23:28
FindComponentってことだろ?このブタ野郎が!
673デフォルトの名無しさん:2008/04/16(水) 18:27:11
説明不足ですいません

for (int i=0; i < 10; i++) {
 AnsiString name = txtID + IntToStr(i);
 // 名前からコントロールにアクセス
}

フォームに連番のついたテキストボックスがあるのですが
大量にあるためループで処理できれば、と考えています。
VB.NETのFindControlみたいなことがしたいのです。
674デフォルトの名無しさん:2008/04/16(水) 18:41:54
>>673
お前みたいなクズは始めてた
お前>>672だけ100回見て1年ROMってろくず
675デフォルトの名無しさん:2008/04/16(水) 18:45:40
配列にすればええねん
676デフォルトの名無しさん:2008/04/17(木) 20:46:56
メモリリークってプログラムの途中じゃ見ることできないですよね?
やっぱ、終わったときだけ?
677デフォルトの名無しさん:2008/04/17(木) 21:02:23
>>674
カルシウム不足
不摂生な生活
678デフォルトの名無しさん:2008/04/18(金) 22:38:08
大学でBorland C++ Builder version.4を使用しています。
自宅でもプログラムを組みたいので、Borland C++ Builder 2007の体験版を使っているのですが、
*.dfmの互換性がないため、大学側のC++ Builderで使用するのに一々フォームを組み直す必要があって非常に面倒です。
*.dfmに下位互換を持たせることはできるのでしょうか?教えてください。
679デフォルトの名無しさん:2008/04/19(土) 02:16:57
>>678
BCB4を大学からコpうわなにをするやめr
680デフォルトの名無しさん:2008/04/19(土) 03:09:32
>>678
両方にTurbo C++ Explorerをインスコ
681デフォルトの名無しさん:2008/04/19(土) 22:05:05
お世話になります。
ファイルマッピングの実装が完了しました。

で、複数のデータをひとつの文字列で送る予定なんですが、
数字であれば、カンマ仕切りで分ければいいのですが、
数字と任意の文字列も含んでおり、任意の文字列の中にカンマがあれば、
受信側で処理ができにくいと考えています。
" "や"|"や","など考えましたが、できるだけ、任意の文字列に例外文字・予約文字?
を作りたくありません。

こんな場合、どういう方法があるのでしょうか?
もちろん、仮想メモリーを別に設ければいいだけなんですが、
良い方法があれば教えてください。

ちょっとスレ違いです。すみません。
682デフォルトの名無しさん:2008/04/19(土) 23:44:53
任意の文字列に"があったら\"に、\があったら\\に変換すればいい
683デフォルトの名無しさん:2008/04/20(日) 01:56:37
普通に考えれば','じゃなく\x9を区切りに使うんじゃね?
684デフォルトの名無しさん:2008/04/20(日) 09:17:58
文字列長も一緒に送るなら\0で区切っても‥‥
685デフォルトの名無しさん:2008/04/20(日) 09:34:53
普通、ファイルマッピングならバイナリーをやり取り出来るわけでわざわざシリアライズする必要はないと思うけどな
もしかして文字列の最大サイズを設けたくないのかな?
あるいは読み出し側でストリームとして読み出してるんだろうか? ならパイプでいいと思うけどな。

とりあえず、文字列の問題は送信時に文字列の部分をエンコードするのが普通
>>682さんの方法のほかに特殊文字は全部 %xx と%の後に2桁の16進数にしてしまう方法がある。

これがエンコードもデコードも簡単。
文字列の部分をエンコードしてからTStringListにAddで入れて CommaText で1行にして送るだけ

エンコードは、1文字づつみて英数字以外は全部 %xx に置換してしまえばいい
デコードは %を見つけたら次の2文字を取ればいいだけ
686デフォルトの名無しさん:2008/04/21(月) 14:07:50
TChartのSeriesCountが1、軸にAutomaticを設定
この状態で最初のデータに2859以上のデータを追加するとエラーになるのはBCBの仕様?
687デフォルトの名無しさん:2008/04/22(火) 00:54:11
シリアライズの件ですが、
難しいです。
検討してみたいと思います。
レスありがとうございました。
688デフォルトの名無しさん:2008/04/24(木) 16:38:01
静的リンクを設定したのですが、BCB非インストール端末にて動作させるとエラーが発生します。
当方BCB6のProを使用しております。
解決方法があれば教えていただきたいです。

以下エラーメッセージ
vclx60.bplが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
689デフォルトの名無しさん:2008/04/24(木) 16:42:47
リンカとパッケージ
690デフォルトの名無しさん:2008/04/24(木) 16:53:28
>>689
リンカの共有RTL DLL、パッケージの実行時パッケージを使って構築
この二つはチェックをはずしてありますが、他にも設定する部分があるのでしょうか?
691デフォルトの名無しさん:2008/04/24(木) 17:11:41
コードガードとデバッグ情報
692デフォルトの名無しさん:2008/04/24(木) 17:20:46
>>691
CodeGuardは対象無し、デバッグ情報はリリースで再構築しているためチェックが外れています
どうも他の人がやるとエラーの出ない実行ファイルが作成されたので、プロジェクトでなく処理系の設定じゃないかと思っています
693デフォルトの名無しさん:2008/04/24(木) 17:23:56
exeのサイズはそれなりのサイズになっとるかね?
ディレクトリ・条件で無駄なあれがあったら削除してみるとか
694デフォルトの名無しさん:2008/04/24(木) 18:10:39
1.2Mくらいの実行ファイルが出来てます
他の人に作成してもらったものとは30kくらい大きいです
条件は不要なものがあったので削除してみましたが、変化無しでした
695デフォルトの名無しさん:2008/04/24(木) 19:15:13
obj tds dsk とか不要ファイルを全部消してみたら?
696デフォルトの名無しさん:2008/04/24(木) 19:39:56
BDS2006/2007は、単独実行exeを作成するにはオプション3箇所変更する必要あるけど、
Builder5/6は2箇所でいいのかな?
オプションをもう一度目をこらして確認してから、再構築かな。
697デフォルトの名無しさん:2008/04/24(木) 23:02:39
プロジェクトファイルが変になってるとか
新規プロジェクトで再構築はどうかな
698デフォルトの名無しさん:2008/04/25(金) 09:02:21
うおおありがとうありがとう
いろいろやってみたけどどうも上手くいかなかったです
とりあえず再インストールしてやってみます
699デフォルトの名無しさん:2008/05/07(水) 14:15:13
FindFirstでファイルの列挙を取得しています
自分のPCだと問題なく取得できるのですが、ファイルサーバだと取得できません。
調べてみたところTSearchRecのAttrがものすごく大きい値になってしまっているのが原因のようです。
回避策などあればご教授お願いいたします。

TSearchRec sr;
        int attr = faAnyFile;
        if (FindFirst(Edit1->Text + "\\*.EXE", attr, sr) != 0)
        {
            return;
        }

        do
        {

       if ((sr.Attr & attr) != sr.Attr)
                {
                    continue;
       }

                // 処理                

            } while (FindNext(sr) == 0);
       FindClose(sr);
        }
700699:2008/05/07(水) 14:19:19
うお、字下げがひどい
TSearchRec sr;
int attr = faAnyFile;
if (FindFirst(Edit1->Text + "\\*.EXE", attr, sr) != 0)
{
    return;
}

do
{
    if ((sr.Attr & attr) != sr.Attr)
    {
        continue;
    }

     // 処理                

} while (FindNext(sr) == 0);
FindClose(sr);
 
701デフォルトの名無しさん:2008/05/07(水) 14:41:59
TSearchRec.Attrは実装的には0x7FFFまで取りうるはず。
(winnt.h 5208行以降とWindowsSDK WIN32_FIND_DATAのドキュメント参照)
702デフォルトの名無しさん:2008/05/07(水) 15:22:44
Attrってフラグの組み合わせなのに、大きさがどう関係あるの?

> if ((sr.Attr & attr) != sr.Attr)

あとこれの意図は?
703デフォルトの名無しさん:2008/05/07(水) 15:29:07
ああfaAnyFileが全部のフラグカバーしてないじゃないかって事か
704デフォルトの名無しさん:2008/05/07(水) 15:36:38
>>701
確認しました。
圧縮ファイルになっていました。

>>703
ご指摘のとおりです。

顧客の設定がわからないため、とりあえず属性の条件部分をコメントにして動くようにします
705デフォルトの名無しさん:2008/05/07(水) 17:02:28
C++Builder6で、

膨張処理

細線処理

のプログラムをおしえてください。
706デフォルトの名無しさん:2008/05/07(水) 19:24:26
borland C++Builder6からgnuplotを実行し、
グラフを書かせたいのですが、
以下のコードではエラーが出てしまいます。
(pgnuplot.exeを認識しない。)
ご指摘をお願いします。

-----------------------------------------------------
FILE* gp;
gp = _popen("C:/Gnuplot/bin/pgnuplot.exe","wt");
if(gp == NULL){
ShowMessage("I can't find PATH");
exit(EXIT_FAILURE);
}
fprintf(gp, "plot sin(x)\n");
fprintf(gp, "pause -1");
fflush(gp); /* Don't forget to flush the buffer. */
getchar();
_pclose(gp);

exit(EXIT_SUCCESS);
----------------------------------------------------
707デフォルトの名無しさん:2008/05/07(水) 19:55:59
>>706
ディレクトリ区切り記号を\\にしては?
シェル上だとスラッシュでも動作する事多いけどDOS/Windowsの本来のディレクトリ区切り記号はバックスラッシュ。
708デフォルトの名無しさん:2008/05/07(水) 20:28:56
>>707
コメントありがとうございます。
\\でやってみましたが、動きませんでした。。
そもそもC++builderからgnuplotは起動できないのでしょうか・・・。
709デフォルトの名無しさん:2008/05/07(水) 23:14:36
んなことはなかろう。
710デフォルトの名無しさん:2008/05/09(金) 13:36:24
んなことはないつってんだろっ!
711TOM:2008/05/09(金) 14:21:20
// interface
class Interface { public: virtual int getValue() const = 0;};
// print
class Print { public: void out(const Interface& interface) { cout << "## " << interface.getValue() << endl; }};
// class A
class A : public Interface { public: virtual int getValue() const { return 0; }};
// class B
class B : public A {
private: Print p;
public:
virtual int getValue() const { return 1; }
void out() {
// オブジェクトがコピーされて、class Aの値が表示される
p.out((A)*this);
// class AのgetValueが呼び出される
p.out((A&)*this);
}
};
オブジェクトをコピーすることなく、クラスAの値を表示できませんか?
712デフォルトの名無しさん:2008/05/15(木) 01:14:22
Turbo C++ Explorerを使っています。
TEditで文字の右寄せを行いたいのですが、Turbo C++ Explorerでは
コンポーネントの登録ができないため、登録せずに実現する方法があれば
教えていただけないでしょうか?
XP以降ならSetWindowLong()で実現できますが、2000などにも対応したいのです。
713デフォルトの名無しさん:2008/05/15(木) 11:01:33
スレ違い
714デフォルトの名無しさん:2008/05/15(木) 13:18:25
TMemoで代用とかって話があったような
715デフォルトの名無しさん:2008/05/15(木) 13:20:50
>コンポーネントの登録ができないため、登録せずに実現する方法があれば

new して、Parentプロパティに貼り付け先のコンポーネントを設定汁!
716デフォルトの名無しさん:2008/05/16(金) 14:19:36
test
717デフォルトの名無しさん:2008/05/16(金) 20:05:08
>716がBCBで2chブラウザを作るそうです
718デフォルトの名無しさん:2008/05/16(金) 20:09:20
プロジェクトソース部分だけ書けば既存のJaneのソースがそのまま使えそうな>BCBで2chブラウザ
719デフォルトの名無しさん:2008/05/17(土) 23:50:45
スレッドを別に分けて作成しているんですが、
別スレッドからmainの中にあるimageコンポーネントに絵画したいんですが、
どうやら駄目なようです。
このような場合の特殊なやり方教えてください
720デフォルトの名無しさん:2008/05/18(日) 10:07:54
>>719
なんか質問が抽象的杉。
何がダメなんや。
調停入れて描画すればええだけだろ。
721デフォルトの名無しさん:2008/05/18(日) 16:43:33
ビルダーで作っているんですが、
ShellExecuteで他のプロセスを実行させていますが、
自前のプロセスが終了したとき、実行させたプログラムも
一緒に終了させたいのですが、良い方法ありませんか?

今はハンドルを一生懸命さがして
PostMessage
で終了させてます。
ShellExecuteの段階でハンドルがわかればいいとおもうんですが。
いろいろ教えてください。
722デフォルトの名無しさん:2008/05/18(日) 19:51:04
ちょっとお尋ねしたいのですが、


#include <string>
#include <sstream>
#include <fstream>

using namespace std;

int main()
{
stringstream test;

test << (char)0x12 << (char)0x11 << (char)0x10 << (char)0x00 << (char)0x00 << (char)0x09 << (char)0x09 << (char)0x09 << (char)0x09 << (char)0x09;

ofstream fout("test.txt");

fout << test.str();
return 0;

}


このプログラムが吐き出すtest.txtをバイナリエディタで見てみると、後ろから2バイト目に謎の0Dが出てくるのですが、この0Dは一体なんなのでしょう??
コンパイラはMinGWです。
723デフォルトの名無しさん:2008/05/18(日) 19:54:41
すいませんソースコードが間違ってました。
正しいのはこっちです。


#include <cstring>
#include <sstream>
#include <fstream>

using namespace std;

int main()
{
stringstream test;

test << (char)0x12 << (char)0x11 << (char)0x10 << (char)0x00 << (char)0x00 << (char)0x09 << (char)0x09 << (char)0x09 << (char)0x09 << (char)0x09;

int aa = test.str().length();
string uu;
uu = aa;
test << uu;

ofstream fout("test.txt");

fout << test.str();

return 0;

}

724デフォルトの名無しさん:2008/05/18(日) 21:56:54
>>721
CreateProcess使えば?
725722:2008/05/18(日) 23:38:08
誤爆失礼しました。。
726デフォルトの名無しさん:2008/05/18(日) 23:42:07
tp://akky.cjb.net/mfc/appclose.html
これをもう少しスマートにならないものでしょうか?
727デフォルトの名無しさん:2008/05/19(月) 02:36:18
>>722
それテキストモードで開いてないか?
728デフォルトの名無しさん:2008/05/20(火) 18:05:35
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    try
    {
        Chart1->BottomAxis->Automatic = true;
        Chart1->LeftAxis->Automatic = true;

        TChartSeries *cs = new TLineSeries(Chart1);
        Chart1->AddSeries(cs);
        cs->AddXY(30000, 0, "", (TColor)clTeeColor);
    }
    catch (Exception &ex)
    {
        Application->ShowException(&ex);
    }
}

これ実行するとEInvalidPointerになるんだが意味がわからんとです
729デフォルトの名無しさん:2008/05/21(水) 00:16:29
よくわからんけど、
> Chart1->AddSeries(cs);
これいらなくね?あと
> EInvalidPointerになるんだが
どの行で?デバッガで例外を発している処理をちゃんと確認してみたら?
730デフォルトの名無しさん:2008/05/21(水) 10:11:40
>>729
> これいらなくね?
これないと表示されないんだ…
> どの行で?デバッガで例外を発している処理をちゃんと確認してみたら?
ブレークかけてるけど、イベント終了まで例外は発生されなくて、終了後に例外が発生
731デフォルトの名無しさん:2008/05/21(水) 10:20:04
こっちで試した限りじゃ空文字列がまずいようだ
732デフォルトの名無しさん:2008/05/21(水) 11:52:56
空文字を適当な文字列にしたらいけました
ラベルが例外の温床なのかと思い、軸のLabelStyleをtalValueに変えてやってみたら例外発生
あとは実際のプロジェクトで試してみたら例外は変わらず
コンポーネント追加してるのが悪いのかもしらん
733デフォルトの名無しさん:2008/05/21(水) 21:55:24
BCBの64ビット環境への対応に関して情報あれば教えてください。
734デフォルトの名無しさん:2008/05/22(木) 03:20:42
>>733
とりあえずDEP切っておけば動くんじゃね?
735デフォルトの名無しさん:2008/05/22(木) 16:01:31
フォームを持たないプログラムを作るにはどうしたらいいですか?
プロジェクトソースのWinMainにどうやってかけばいいですかね?
736デフォルトの名無しさん:2008/05/22(木) 16:09:43
ウィンドウ持たない常駐型アプリはWindowsの仕様上無理。
メインフォームのVisibleをfalseにすればおk。
起動時に処理してそのまま終了ならコンソールアプリと同じ処理をすればいい(mainをWinMainに置き換えるだけ)
737デフォルトの名無しさん:2008/05/22(木) 16:32:25
TPNGObjectを探してるんだけどこれって本家HPが見れないー
どっかDLできるとこある?
738デフォルトの名無しさん:2008/05/23(金) 23:10:10
>>737
ほんとだねー。
どこかにアップする?
739デフォルトの名無しさん:2008/05/24(土) 05:24:00
Delphiくだすれで見つけた。
http://www.codeplex.com/PNGImage/Release/ProjectReleases.aspx?ReleaseId=13294
fcしてみたけど手元のv1.564と全く同じだったからこれでいいんじゃないかな。
740デフォルトの名無しさん:2008/05/24(土) 17:53:43
以下のようなエラーが出て、原因がわかりません。。。
エディターはBCC Developerで -W オプションにはチェックをいれています。
初歩的な質問ですみません

> C:\borland\bcc55\Bin\make.exe -fDebug\testWin.mak -B Debug\testWin.obj
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
brcc32 -W -3 -Od -w -AT -pc -H- -k -b -v -y -DDEBUG -nDebug -c D:\util\bccdev1221\bccdev1221\DATA\testWin\testWin.cpp
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.

Illegal Parameter: -W
741デフォルトの名無しさん:2008/05/24(土) 17:59:45
リソースコンパイラにC++ソースコンパイルさせるな
742デフォルトの名無しさん:2008/05/24(土) 18:02:32
brcc→bcc32
743デフォルトの名無しさん:2008/05/24(土) 18:04:50
>>741 さん

どういうことでしょうか?
もう少し詳しく教えていただけると助かります。
744デフォルトの名無しさん:2008/05/24(土) 18:14:34
>>743
付属の「Borland C++ Builder ツール」ってヘルプファイルを読みましょう。

結論から行くとmakefileの記述ミスじゃね?BCBIDEだとmakefileいじる機会ほとんどないから予測だけど。
745デフォルトの名無しさん:2008/05/24(土) 18:15:25
>>743
>>742を百万遍嫁
746デフォルトの名無しさん:2008/05/24(土) 18:19:34
>>745 さん

百万遍読んだんですが、どこで設定すればよいのか分からないのです。。。
教えて教えてですみません。
747746:2008/05/24(土) 18:22:53
すみません、解決しました。

ご迷惑お掛けしました。
748デフォルトの名無しさん:2008/05/25(日) 19:54:47
BCB 5を使っているんですが、ブレークポイントから動きを追っていると
いきなり上の行に戻ったりおかしな挙動をすることがあります。
どっかでメモリ壊してるんじゃないかとは思うんですけど、同じような現象起きることありませんか?

ちなみにCodeGuardでは何も検出されませんでした。
749デフォルトの名無しさん:2008/05/25(日) 20:06:38
マルチスレッド使ってるだろ。
750デフォルトの名無しさん:2008/05/25(日) 20:59:07
意図的なマルチスレッドは使っていませんでした。
751デフォルトの名無しさん:2008/05/25(日) 21:06:31
マルチスレッドか最適化ぐらいかな。ありえそうなのは。それ以外は経験した事無いな。
752デフォルトの名無しさん:2008/05/25(日) 22:17:38
>>748
最適化だろ
753デフォルトの名無しさん:2008/05/25(日) 23:10:53
効率よくデバッグするときは最適化をOFFにするのがセオリー。
そうしないと、変数のレジスタ割当てやループの最適化や重複コードの最適化
などの影響であっちこっちに飛ばされるよ。
754デフォルトの名無しさん:2008/05/26(月) 00:30:40
コピーしたフォルダがあるとか
755デフォルトの名無しさん:2008/05/26(月) 06:46:27
ってか、デバッグするときは、
プロジェクト-オプション-コンパイラの
デバッグ(F)を押した設定にする。
これ常識あるね。
756デフォルトの名無しさん:2008/05/26(月) 11:31:17
bmpを読み込んでTJPEGImageに変換してTJPEGImageのCompressionQualityを設定して
Timageに表示したいのですがいまいちうまくいきません。
CompressionQualityはファイル書き出し時に有効みたいなことが書いてたので
jpg->Assign( bmp );
jpg->CompressionQuality = 10;
TMemoryStream *ms = new TMemoryStream( );
jpg->SaveToStream( ms );
jpg->LoadFromStream( ms );
Image->Picture->Bitmap->Assign( jpg );
としてみたのですが、↑で実行時にエラーになります。
SaveToFileでファイルに書いてそれをLoadする分には正常に処理されるのですが
ファイルを作らずにやるにはどうしたらいいですか?
757デフォルトの名無しさん:2008/05/26(月) 12:11:48
StreamはPositionを意識しないといけない。SaveToStream後のPositionを見てみるといい。
LoadFromStreamはその位置からデータを読もうとする。
758デフォルトの名無しさん:2008/05/26(月) 13:38:07
>>757
あなたは神ですか?
まさにその通りでした!!
それでちゃんと読めるようになりましたありがとうございます!
し、しかし・・・
CompressionQualityってSaveToFileにのみ反映されるんですね・・・
SaveToStreamでは効果がなかった・・・
759デフォルトの名無しさん:2008/05/26(月) 13:41:14
あ、違った(;´Д`)
SaveToStreamがうまくいってなかったからコードをアレしてたんだった
SaveToStreamでもちゃんとCompressionQuality処理されてましたー
760デフォルトの名無しさん:2008/05/26(月) 13:54:09
つーかVCLのLoadFromFile/SaveToFileってメソッド内でTFileStream作成して〜Stream呼ぶだけだかんねぇ
761デフォルトの名無しさん:2008/05/26(月) 20:42:01
しかしVCとは違って各種ビルドオプションが切り替えられないのが面倒。
6使ってた頃にはリリースビルド専用のmakefile作ってた。
762デフォルトの名無しさん:2008/05/27(火) 05:00:24
>>761
意味不明
切り替えられるじゃん
763デフォルトの名無しさん:2008/05/27(火) 06:24:46
>>761 はDelphi6と勘違いしているのじゃねえの
764デフォルトの名無しさん:2008/05/27(火) 08:03:49
ひょっとして[デバッグ][リリース]ボタンでオプション設定する機能を
構成切り替え機能だと思ってるの?
765デフォルトの名無しさん:2008/05/27(火) 18:35:11
で、みんなどのバージョンを頭に置いて書き込んでるの?
766デフォルトの名無しさん:2008/05/27(火) 18:46:36
6Pro
767デフォルトの名無しさん:2008/05/27(火) 19:20:35
>>766
あれ? >>761はわざわざ「6使ってた頃には〜makefile作ってた。」って書いてあるんだから、
対象は6以外ってことで、2006以降の話なんじゃないのか?

768デフォルトの名無しさん:2008/05/27(火) 19:36:34
はぁぁ?
769デフォルトの名無しさん:2008/05/27(火) 19:55:19
>>761
今はどうしてるんだ?
今は6使ってないんだろ?
770デフォルトの名無しさん:2008/05/27(火) 20:06:44
今は5使ってます
771748:2008/05/27(火) 21:22:14
う〜ん、最適化でそういう動きするのか。
でもデバッグを押して再構築してもまだそういう動きをしました。

テンプレートを多用してあまりにサイズが大きくなったので
#pragma option push
#pragma option -vi-

#pragma option pop
でインラインを止めてみたんだけど、これが問題なのかなぁ。
772デフォルトの名無しさん:2008/05/28(水) 00:09:41
ていうかテンプレートそのものが原因だろw
773デフォルトの名無しさん:2008/05/29(木) 10:28:29
ODBCを経由せずにアクセスデータベース(mdbファイル)とやり取りする方法を教えてください
774デフォルトの名無しさん:2008/05/29(木) 10:33:32
つ Win32API
775デフォルトの名無しさん:2008/05/29(木) 10:41:29
関数名は?
776デフォルトの名無しさん:2008/05/29(木) 14:02:25
それくらい自分で探したら。
大ヒントもらったんだから。
777デフォルトの名無しさん:2008/05/29(木) 14:10:49
知らないならレスしないで下さい。ウザイだけです。
778デフォルトの名無しさん:2008/05/29(木) 14:32:06
知らない場合はレスしないよ。
知ってるけど自助努力の余地を残してあげてるだけ。

ここで努力して見せれば次は回答あげたりするわけだけど、
いきなりキレたりしたら、馬鹿にして見捨てるわけ。
今回は見事にキレたから、馬鹿にして見捨てた次第です。ばーかw
779デフォルトの名無しさん:2008/05/29(木) 14:53:16
見事に知らない奴がするレスの手本だ
780デフォルトの名無しさん:2008/05/29(木) 15:49:44
と言いつつ、本当に「知らない奴」かどうかは一度も確認したこと無いよね。
初めて見た時からずっと「これは知らない奴がするレスの手本なんだ!」ということにしてきただけw
781デフォルトの名無しさん:2008/05/29(木) 19:34:09
コピペにマジレス(ry
782デフォルトの名無しさん:2008/06/02(月) 19:25:16
http://delfusa.blog65.fc2.com/blog-entry-40.html
のやり方でTMemoを継承して、SetWindowLongで追加できないES_CENTERを持つメモコンポーネントを作成したいのですが、
CreateParamsで設定したスタイルが反映されません。どこに問題があるのでしょうか?

class TMemoEx : public TMemo {
 protected: void __fastcall CreateParams(TCreateParams& param);
 public: __fastcall TMemoEx(TMemo* original);
};
--------↑ヘッダ--------↓ソースファイル---------------
__fastcall TForm1::TForm1(...) : TForm(...) {
 Memo1 = new TMemoEx(Memo1);
}

void __fastcall TMemoEx::CreateParams(TCreateParams& param) {
 param.Style = param.Style | ES_CENTER | ES_NUMBER;
 TMemo::CreateParams(param);
}

__fastcall TMemoEx::TMemoEx(TMemo* original) : TMemo(original->Owner) {
 Parent = original->Parent;
 TMemoryStream* ms = new TMemoryStream();
 try {
  ms->WriteComponent(original);
  delete original;
  ms->Position = 0;
  ms->ReadComponent(this);
 } __finally {
  delete ms;
 }
 SendMessage(Handle, ES_SETRECT, ....);
}
783デフォルトの名無しさん:2008/06/02(月) 19:42:36
param.Style = param.Style | ES_CENTER | ES_NUMBER;
TMemo::CreateParams(param);

↑逆
784デフォルトの名無しさん:2008/06/02(月) 20:22:05
>>783
行けました。感謝です。
785デフォルトの名無しさん:2008/06/04(水) 14:35:52
いま、簡単に書けば

void __fastcall TForm1::FormCreate(TObject *Sender)
{
loadInifile(Sender);
}

void __fastcall TForm1::loadInifile(TObject *Sender)
{
Panel1->Show();
Panel2->Show();
}

のように、FormCreateでIniファイルを読み、
その結果でフォームのスクロールバーを表示したり、ステータスバーを消したりしています。
ここの処理をできる限り速くしたいと思います。

C++ Builderの場合、タイミング的にはloadIniFileが完了してからフォームが表示されるのでしょうか?
786デフォルトの名無しさん:2008/06/04(水) 15:02:24
CreateよっかコンストラクタかShowでやったほうがいいんじゃね?
787デフォルトの名無しさん:2008/06/04(水) 15:13:55
てかBCBではOnCreate使わずにコンストラクタでやれってヘルプに書いてあるね
788785:2008/06/04(水) 15:35:34
>>786>>787 すみません、そのヘルプの場所を教えていただけないでしょうか?
789デフォルトの名無しさん:2008/06/04(水) 15:40:50
>>788
TCustomForm::OnCreate
> 注意 フォームのコンストラクタとのやり取りが不良になる可能性があるので,
> C++Builder で OnCreate イベントを使うことはお勧めできません
> (OldCreateOrder を参照)。かわりに,フォームコンストラクタをオーバーライドすることをお勧めします。
790785:2008/06/04(水) 15:49:03
>>789 ひぃ〜!ありがとうございます!

早速先のloadIniFileをコンストラクタに移動してみました。
が、動作をみると、まだフォーム表示後にフォームのサイズが変更されたりしてるようです。。

理想でいえば、ウィンドウのサイズや位置や、各コントロールのプロパティに値が設定された後、
フォームを表示したいのですが、どうすればいいのでしょうか。。?
791デフォルトの名無しさん:2008/06/04(水) 15:53:41
TForm1::Visibleの初期値をfalseにして、コンストラクタの最後でtrueにすればいいんじゃね?
792デフォルトの名無しさん:2008/06/04(水) 15:54:28
loadInifileでやってるPanel1->Show();の意味がわからんのだが
793デフォルトの名無しさん:2008/06/04(水) 15:55:57
つーかフォーム操作はコンストラクタでやっとけばフォーム表示時には変わってるとおもうんだがー
他のコントロールならまだ作成されてない可能性はあるとおもうが
794785:2008/06/04(水) 16:13:12
>>791 新規プロジェクトでForm1のVisibleを見るとfalseでした。
フォームのVisibleはフォームの表示には関係ないのではと思ったり。。
795785:2008/06/04(水) 16:15:12
>>792 すみません、適当に書いたのであんまり意味はないです。。
>>793 なんか処理をコンストラクタに移したらうまくいったようなないような。。

フォームにActiveXのコンポーネントが乗ってるので、
そちらのちらつきが目立つようになってしまいました。。
796デフォルトの名無しさん:2008/06/04(水) 17:11:29
C++Builder5 ProでMDBファイルから直接レコードを読んだりしたいのですがどうやったらできますか?
797デフォルトの名無しさん:2008/06/04(水) 22:05:33
>MDBファイルから直接
なにゆえ直接読む必要があるのだろうか・・・
798デフォルトの名無しさん:2008/06/04(水) 23:10:05
ODBC
799デフォルトの名無しさん:2008/06/05(木) 10:54:37
ODBCを経由したくないからに決まってるだろぼけが
800デフォルトの名無しさん:2008/06/05(木) 13:16:32
普通にファイルオープンして読み書きすりゃいいじゃん
801デフォルトの名無しさん:2008/06/05(木) 13:26:53
馬鹿はレスするなよ
802デフォルトの名無しさん:2008/06/05(木) 15:13:53
くだすれ行けよ
803デフォルトの名無しさん:2008/06/05(木) 15:20:14
お前らの馬鹿なレスに期待してんだよクズ
804デフォルトの名無しさん:2008/06/06(金) 10:12:27
>>796
マジレスすると、BCB6なら、プロジェクトに「タイプライブラリの取り込み」ってあるはずだから、
それでADOの対象DLLを取り込んで、COM経由で読めたような気がする。
確か、BCB5でもOKだったような。

それが無ければ、#import文でも取り込めた気がする。
この辺の作法はVC++と同じはず。
805デフォルトの名無しさん:2008/06/06(金) 15:51:24
直接レコードを読むってのは、ADO接続するってことなのか?
806デフォルトの名無しさん:2008/06/06(金) 16:14:00
むしろDAOで
807デフォルトの名無しさん:2008/06/06(金) 20:35:06
つまんないことですけど、 std::sortで比較関数を書く場合、

bool sortNameAsc(const FI& left, const FI& right) { return left.Name < right.Name; }
bool sortNameDesc(const FI& left, const FI& right) { return left.Name > right.Name; }



std::sort( vec.begin(), vec.end(), sortNameAsc ); // 名前昇順
std::sort( vec.begin(), vec.end(), sortNameDesc ); // 名前降順

と、

std::sort( vec.begin(), vec.end(), sortNameAsc ); // 名前昇順
std::sort( vec.begin(), vec.end(), -1 * sortNameAsc ); // 名前降順

は同じことですよね。。?自分に自信がなくて。。
808デフォルトの名無しさん:2008/06/06(金) 21:09:10
ちがわい
boolではtrueは1、falseは0に変換される
809デフォルトの名無しさん:2008/06/06(金) 21:16:25
ってことは、

std::sort( vec.begin(), vec.end(), sortNameAsc ); // 名前昇順
std::sort( vec.begin(), vec.end(), ! sortNameAsc ); // 名前降順

ですか?><
810デフォルトの名無しさん:2008/06/06(金) 23:53:10
>>809
それコンパイル通る?
通ればそれでいいんだけど
811デフォルトの名無しさん:2008/06/06(金) 23:58:18
あれなんかageになってたごめん
812809:2008/06/07(土) 06:48:02
三番目の引数が関数じゃないって怒られました \(^o^)/
813デフォルトの名無しさん:2008/06/07(土) 10:45:35
関数オブジェクト使えよ

sortName(Asc) とか sortName(Desc) と書けるように
814809:2008/06/08(日) 05:43:37
関数オブジェクトが理解できません\(^o^)/
ヤバス
815デフォルトの名無しさん:2008/06/08(日) 11:51:43
STLよく知らんがこんなんでいいんじゃないん?
struct CData {
CData(std::string name, int value):Name(name), Value(value){};
std::string Name;
int Value;
};
struct CCompareTest {
int mode;
CCompareTest(int val) : mode(val) {}
operator()(const CData& l, const CData& r) {
if (mode == 0) { return (r.Value > l.Value) ? true : false; }
else { return (r.Value < l.Value ) ? true : false; }
}
};

main() {
std::vector<CData> test;
test.push_back(CData("Item1", 0));
test.push_back(CData("Item2", 4));
test.push_back(CData("Item3", 2));
test.push_back(CData("Item4", 3));
test.push_back(CData("Item5", 0));
std::sort(test.begin(), test.end(), CCompareTest(1));
for(std::vector<CData>::iterator it = test.begin(); it < test.end(); it++) {
std::cout << (*it).Name << ":" << (*it).Value << endl;
}
}
Name基準でしかソートしないならoperator >(const FI&, const FI&)とoperator <(const FI&, const FI&)定義して
std::greaterとstd::less使えば事足りるだろうけど。
816デフォルトの名無しさん:2008/06/08(日) 12:41:25
関数オブジェクトってのは単に operator() をオーバーロードしたクラスのオブジェクトってだけのことだ。
817デフォルトの名無しさん:2008/06/08(日) 16:43:38
なんだ関数オブジェクト知らなかったのか
普通に関数呼び出すよりも関数オブジェクトの方が
最適化を掛けるとインライン化されて速度が上がる可能性が高い

まあ中にはVCみたいに関数呼び出しまでインライン化するお馬鹿な
コンパイラもある事にはあるが
818デフォルトの名無しさん:2008/06/10(火) 18:37:40
Variant型のvarDispatchタイプにバイナリデータが入ってるのですが
これをHEX文字に変換する方法を教えてください
819デフォルトの名無しさん:2008/06/11(水) 06:39:17
ん。varDispatchってことは、インターフェースへのポインタが入ってるわけでしょ?
そのインターフェースに何かしらのデータ取得用のメソッドないの??
varByte || varArrayなどのSafe配列としてバイナリデータ格納されてるわけじゃないんでしょ?
820デフォルトの名無しさん:2008/06/16(月) 20:02:23
HBITMAP Spi_LoadImage(LPSTR plugin,LPSTR filename)

というHBITMAPを返す関数があるのですが、これをフォームに表示する方法がわかりません><

HBITMAP bitmap = Spi_LoadImage( "c:\\ifjpeg.spi", "c:\\0.jpg" );
Image1->Canvas->CopyRect(
Rect(0,0,bitmap->Width,bitmap->Height),
bitmap->Canvas,
Rect(0,0,bitmap->Width,bitmap->Height)
);

とすると「E2288 -> か ->* の左には構造体のポインタが必要」ってエラーが出てしまうのです。
どうしたらいいでしょうか
821デフォルトの名無しさん:2008/06/16(月) 20:08:16
TBitmap::Handleに戻り値のハンドルぶち込めばいいんじゃね?
822820:2008/06/16(月) 20:13:17
>>821 TBitmapコントロールってないですよね?><
フォームにはTImageを張ればいいのでしょうか??
823デフォルトの名無しさん:2008/06/16(月) 20:24:47
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
HBITMAP hBitmap = Spi_LoadImage("IFPSD.spi", "test.psd");
Image1->Picture->Bitmap->Handle = hBitmap;
}
//---------------------------------------------------------------------------

__fastcall TForm1::~TForm1()
{
Image1->Picture->Bitmap->ReleaseHandle();
}
824820:2008/06/16(月) 20:29:22
>>823 ひぃ〜、できました!!感動です!ありがとうございます!!
このスレはすぐ的確な回答が返ってくる素晴らしいスレだと思います!!
825デフォルトの名無しさん:2008/06/16(月) 20:31:01
つーかちゃんとVCLのドキュメント嫁
826820:2008/06/16(月) 20:34:02
bcbに関しては全部ネットで勉強してるので、
なんかとっかかりがないんです(汗
VBとかVCはIDEがナビゲートしてくれる感じなのですが。。
827820:2008/06/16(月) 21:39:47
たびたびすみません;;
テキストボックスを入力不可にしてグレーにしたいんです。
VBとかだとenableをfalseにすると勝手にグレーになって編集不可になったと思うのですが、
bcbだとreadonly=trueにして、自前で色を変更しないといけないのでしょうか?;;
828デフォルトの名無しさん:2008/06/16(月) 21:48:06
自前でどうぞ。
829デフォルトの名無しさん:2008/06/16(月) 21:49:33
無効にすればそうなるはずだが
830820:2008/06/16(月) 21:55:24
ああ、enabled=falseにすると、エディットボックスのテキストがグレーになりました!!
テキストボックス自体をグレーにするには自前でするしかなさそうですね。。
831デフォルトの名無しさん:2008/06/17(火) 15:36:15
知らないならレスしないでください。
832デフォルトの名無しさん:2008/06/18(水) 21:49:33
ベッキーのようにexeから関数をエクスポートしたいのですが、
exeとエクスポート先のexe両方ともコンパイルできたのたのですが、
呼び出しexeで初期化が失敗しましたとでます。

とりあえず、exeのlibを作って静的にリンクしています。
またソースは
extern "C" __declspec(dllexport) char* __stdcall GetA(void);
という形で両exeに宣言してます。
833デフォルトの名無しさん:2008/06/19(木) 10:19:34
そうですか
834デフォルトの名無しさん:2008/06/19(木) 11:18:22
やってみたけどそういうエラーは出ないな。ただ、関数自体は呼べるけど、
その関数内で参照してる色々なアドレスが無効で使い物にならなかった。

Beckyは使ってないから知らないけど、EXEがエクスポートしてる関数を使うのは、
そのEXEに読み込まれてるDLLでないの?

EXEからEXEをDLLのように扱っても↓にあるように問題が大きいと思うけど。
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200711/07110084.txt
835デフォルトの名無しさん:2008/06/20(金) 19:03:54
832です。
こういうサイト見つけました。
トライしてみます。
ptth://abyss-21.hp.infoseek.co.jp/junk/C&C++/PP02.htm
836デフォルトの名無しさん:2008/06/20(金) 19:31:24
やっぱDLL対EXEでしょ。
837デフォルトの名無しさん:2008/06/20(金) 19:35:34
そうですか
838デフォルトの名無しさん:2008/06/20(金) 19:55:41
dllからexeの関数を参照する場合、
どうすればいいのでしょうか?

dllで共有メモリにフラグ立てて、
exe側で共有メモリをループ内で監視したら
いけそうですが、ちょっととろくないですか?
プラグイン拡張させたいという希望の元。
839デフォルトの名無しさん:2008/06/20(金) 20:25:46
      ___   ━┓  ___    ━┓
     / ―  \  ┏┛/ ―\   ┏┛
    /  (●)  \ヽ ・. /ノ  (●)\  ・
  /   (⌒  (●) /. | (●)   ⌒)\
  /      ̄ヽ__) /   |   (__ノ ̄  |
/´     ___/     \        /
|        \          \     _ノ
|        |          /´     `\
840デフォルトの名無しさん:2008/06/20(金) 20:39:47
前半2行と後半4行のつながりをオラに教えてくれ
841デフォルトの名無しさん:2008/06/21(土) 09:28:53
えぇと、
用はdllからexeの関数を叩きたいわけです。
API用意できない場合は、最後の4行で
なんとかならないかな
という想像で、このやり方はやりたくないが。


わかってもらえるかなぁ。
>>841 <<フル無視?鴨
842デフォルトの名無しさん:2008/06/21(土) 11:47:32
>>835のサイトに書いてるでしょ。EXE側でdllexportした奴を、GetProcAddressしたら呼べたけど。
843デフォルトの名無しさん:2008/06/21(土) 13:39:02
Callback関数を用意して予めDLLにそのアドレスを教えておけばいいんじゃないの?
例えていうならEnumXXXみたいなAPIのように。
844デフォルトの名無しさん:2008/06/23(月) 16:56:30
はやくbrcc32がVista用アイコン(PNG圧縮)に対応しないかな。
体験版から最新exeいただきますよー、まだまだBCB6で逝きますよー
845デフォルトの名無しさん:2008/06/23(月) 18:17:26
あ、SDK for Vistaからrc.exeとrcdll.dll抜いて.rcをコンパイルしたら使えた。
MAINICONのために.rcを書くのが面倒だけど何とかなりそうだ。
846デフォルトの名無しさん:2008/06/23(月) 18:21:37
アイコンってそんなに重要か?
847デフォルトの名無しさん:2008/06/23(月) 20:08:36
しょぼい質問んだんけど(BCB6)

デフォのフォームに「閉じる」ってボタンつくって、その中にclose()を書いとく。
フォームの右上にある×マークと、自前で作った「閉じる」ボタンの違いってあるん?
848デフォルトの名無しさん:2008/06/23(月) 20:32:11
普通のアプリ作る分には無いものと考えてよし。


厳密に言うと違いはある。
×ボタンは直接クローズメッセージがポストされるが、
Close()の場合はVCLがクローズメッセージをポストする。
849847:2008/06/23(月) 21:08:35
>>848
<(_ _)>
850デフォルトの名無しさん:2008/06/24(火) 17:20:22
boost::variate_generator< boost::mt19937, boost::uniform_smallint<>> rnd_gen(gen, ret_type);
boost::variate_generator< boost::mt19937, boost::uniform_smallint<> > rnd_gen(gen, ret_type);
この構文で上はコンパイル時に構文エラー、下は正常に通るのですがこれはBCB6の問題という認識でいいのでしょうか?
851デフォルトの名無しさん:2008/06/24(火) 18:05:19
BCBに限らずそういうもんだよ。>> が >>演算子と解釈されるらしいから。

…と思ってたけど、cl は >> で通るようになってるんだな。g++ は駄目だったけど。
852デフォルトの名無しさん:2008/06/24(火) 18:12:08
>>でも問題なく通るようになるのはC++0xの規格だから
今は使わない方がいい
853デフォルトの名無しさん:2008/06/24(火) 18:17:25
なるほど。
854デフォルトの名無しさん:2008/06/24(火) 18:18:43
>>851-852
テンプレートまわりの記述は後者の記法を取らないと駄目と言うことですね。ありがとうございました。
855デフォルトの名無しさん:2008/06/25(水) 20:55:35
AnsiString fileName; で、fileName = fileName + "\0\0";
としても末尾にNULL二つつかないんですね。。

char *で操作するしかないのでしょうか?
856デフォルトの名無しさん:2008/06/25(水) 21:10:01
fileName += AnsiString("\0\0", 2);
857855:2008/06/25(水) 21:15:06
>>856 駄目みたいです。。
858デフォルトの名無しさん:2008/06/25(水) 21:19:06
バージョンによるのかな。BCB6はできたけど。後は
fileName = fileName + '\0' + '\0';
859855:2008/06/25(水) 21:23:30
2007です。

fileName += '\0';
fileName += '\0';

と二行に分けても駄目でした。
Ansistringクラスで最適化してるんでしょうか。むむーん。
860デフォルトの名無しさん:2008/06/25(水) 21:35:45
>>859
Length()も変わってない?
861855:2008/06/25(水) 21:45:20
デバッガで変数値見てるんですけど、変わってないです。
862855:2008/06/25(水) 21:53:31
そもそも、fileName = "\0\0"; で\0が一個しか代入されません。うへえ。
863デフォルトの名無しさん:2008/06/25(水) 22:00:41
>>861
デバッガはヌル文字の手前までしか表示せんよ。
864デフォルトの名無しさん:2008/06/25(水) 22:03:50
fileName += '\0';
でちゃんと文字列長がインクリメントされてるじゃん。
865855:2008/06/25(水) 22:19:33
>>864 文字列長ってfileName.Length()で得られる値ですか。。?
866デフォルトの名無しさん:2008/07/02(水) 14:48:11
CreatePopupMenuでポップアップメニューを作って
TrackPopupMenuで表示させるとこまではうまくいったんだけど
これのイベントを取ろうと
MESSAGE_HANDLER( WM_COMMAND, TWMCommand, WMCommand )
で、イベントを作成するとメニューを表示したときにはここにくるんだけど
メニューが表示されなくなったんですけど、何が原因ですかね?
WMCommand イベントの中で何か特別なことを書かないといけない?
867デフォルトの名無しさん:2008/07/02(水) 15:05:58
あ、わかった><
ボタン押したらポップアップメニューを表示させてたんですけど
WM_COMMANDメッセージをあれするとボタンを押したイベントも取られて
本来のボタンクリックイベントにこなくなってしまってた・・・
WMCommandイベントの中で
DefaultHandler( &Msg );
これ呼んでるんだけど本来のボタンクリックがどうやったら呼ばれるようになりますか?
868デフォルトの名無しさん:2008/07/02(水) 23:49:54
せっかくC++BuilderなのになぜTPopupMenuを使わないの?
869デフォルトの名無しさん:2008/07/03(木) 10:54:56
APIでポップアップメニューをやりたかったからに決まってるだろ?
870デフォルトの名無しさん:2008/07/03(木) 13:08:44
何のために
871デフォルトの名無しさん:2008/07/03(木) 13:27:53
それは聞かないって約束しただろ?
872デフォルトの名無しさん:2008/07/03(木) 21:18:13
でも、もう隠し事されるのは嫌なの!
873デフォルトの名無しさん:2008/07/03(木) 22:29:20
APIでやりたいならおそらくスレ違い。Win32APIスレへどうぞ。
874デフォルトの名無しさん:2008/07/04(金) 09:58:39
C++Builder使ってる人ってAPIはわからないのよ!
875デフォルトの名無しさん:2008/07/04(金) 13:33:42
A…あなたの
P…ポコチン
I …インポです
876デフォルトの名無しさん:2008/07/04(金) 18:13:12
C++に関する本で、演習(解答も)ついてるおすすめの本ってありますか?
877デフォルトの名無しさん:2008/07/04(金) 18:25:50
>>876
↓行った方がいいぞ。そもそもC++Builderは独自拡張部分頻繁に使うから入門用には適さないし。
推薦図書/必読書のためのスレッド 40
http://pc11.2ch.net/test/read.cgi/tech/1209441159/
【初心者歓迎】C/C++室 Ver.55【環境依存OK】
http://pc11.2ch.net/test/read.cgi/tech/1213466622/
878デフォルトの名無しさん:2008/07/04(金) 18:38:13
>>877
お勧めの本をきいたんだよこのまぬけ
879デフォルトの名無しさん:2008/07/04(金) 19:14:44
このスレでageてる奴地雷だから踏まないほうがいい
880デフォルトの名無しさん:2008/07/04(金) 23:29:04
C++Builder2007において
フォルダの中にソース以外の生成物がでてきて、
フォルダが肥大化します。
ソースのバックアップに、良い手はありませんか?
バッチファイルをつくってファイルを削除するのか
すべての生成物を別フォルダに生成できればいいんですが。
中間と最終出力は別フォルダにしています。
おしえてください
881デフォルトの名無しさん:2008/07/05(土) 00:55:25
882デフォルトの名無しさん:2008/07/05(土) 09:26:01
BCBは未だクリーン機能(ビルド生成物を全部消去する機能)無かったのか?
883デフォルトの名無しさん:2008/07/06(日) 21:29:50
えっ?
884デフォルトの名無しさん:2008/07/07(月) 00:23:21
>中間と最終出力は別フォルダにしています。

していれば、分離されてました。
古いのが残ってたみたいです。
すみません。
バッチファイルで消したらすっきりしました。
885デフォルトの名無しさん:2008/07/07(月) 10:04:21
相談スレなんだからあげるのは当たり前
886デフォルトの名無しさん:2008/07/07(月) 10:44:28
またこいつかってのが分かりやすいからいいよ。
887デフォルトの名無しさん:2008/07/08(火) 10:00:56
#defineによって生成されるexeファイル名を変更したいのですが
ソース上ではどのように記述したらいいですか?
888デフォルトの名無しさん:2008/07/08(火) 11:35:50
makeファイル使ったら?
889デフォルトの名無しさん:2008/07/08(火) 11:36:23
><
890デフォルトの名無しさん:2008/07/11(金) 15:52:26
C++Builder2007でデータベース(mdbファイル)を操作するにはどのコンポを使えばいいですか?
891デフォルトの名無しさん:2008/07/11(金) 18:34:15
>>890
TADOConnectionとかの類でおk
892デフォルトの名無しさん:2008/07/13(日) 00:36:12
>>891
それないっすよないっすよ
893デフォルトの名無しさん:2008/07/13(日) 12:30:47
一応ご参考までに。

やねう企画代表者やねうらお(本名・磯崎元洋)が
・ソフトウェアの不正コピーを行っていた
・労働契約上の違反をしていた
・他は不正コピーしていないことを証明しようとしてエロゲーのパッケージを発見し、
 写真に撮ってアップロードしようとした。
http://d.hatena.ne.jp/pmoky/19000106
やねう企画の裏側(競馬の詐欺ソフトの製作現場)
http://d.hatena.ne.jp/pmoky/20060510
http://d.hatena.ne.jp/pmoky/20060511
http://d.hatena.ne.jp/pmoky/20060512
有限会社やねう企画(所在地・大阪府八尾市末広町2−1−2)が計画倒産
http://www.sia.go.jp/~osaka/zenso/19.09.pdf

やねうらおプロフィール
性格:友達から「チンピラ」「ヤクザ」と呼ばれている。前世で殺人鬼だった宿業を背負っているという妄想(自覚)あり。
最終学歴:専門学校卒
主な職歴:有限会社センキ(凌辱系アダルトゲームの製作会社)を経て独立、有限会社やねう企画を設立、2006年に計画倒産
代表作:『夜這いマニア』『盗撮マニア』『お楽しみCDシリーズ』『競馬詐欺ソフト』『BM98』

やねうらお語録
>「ワシのほうが潔癖やと思うんやけどな。
>絶対に違法コピーのソフトしか使わんし。
>たとえば強盗に入ったときに、ちょっとかわいそうになって
>十万円だけ残してったら、おかしいやろ?
>自分の『強盗する』という意思に対して矛盾やろ?
>だからワシは、一個も買ったソフトを使ったことがない!!」
894デフォルトの名無しさん:2008/07/14(月) 15:19:40
特に不具合無かったので長い間BCB5を使っていたのですが
中文など多言語を扱わないといけなくなり移行を考えています
そこで質問なのですがunicodeでの文字列操作がある程度出来る
バージョンとなるといくつから先と考えればいいのでしょうか?

シビアな文字列操作は必要無く、変数に入れても壊れることが無く
ちょっとしたファイル読み込みと書き込み程度が出来れば十分です
895デフォルトの名無しさん:2008/07/14(月) 15:35:41
んじゃ5のままでいいじゃん
896デフォルトの名無しさん:2008/07/14(月) 15:40:29
文字列処理中はStringにUTF-8を入れるなら5で無問題。

WideStringとかは使ったことないので知らん。
897デフォルトの名無しさん:2008/07/14(月) 15:42:44
5にTNTで十分じゃない?
文字列はWideStringに入れておけば壊れないから。
バージョンアップ前提なら、次期バージョンのC++Builder2009を待て。
VCLがUnicode化されるらしいから。
898894:2008/07/14(月) 16:22:57
UTF8Stringを使うというのを見かけたのですが
これはバージョンいくつから使えるのでしょうか?

>>897
TNTも考えたのですが国際化対応が必要無い箇所で
SJIS文字列をバイト操作しているところが多々あり躊躇しています
C++Builder2009か・・・・・
本当に今度こそVCLをunicodeして出してくれるんだろうか
お布施稟議がなかなか通らなくなってきてます;;
899デフォルトの名無しさん:2008/07/14(月) 16:58:40
>UTF8String

このことに触れようかと迷ってたんだが、UTF8StringはAnsiStringでtypedefしてるだけ。

つまり、どのバージョンでも使える。(というか、AnsiStringのまま書け)
900デフォルトの名無しさん:2008/07/14(月) 17:02:11
>sysmac.h
>typedef AnsiString UTF8String;

みたいな感じ。

901デフォルトの名無しさん:2008/07/14(月) 17:43:42
><
902894:2008/07/15(火) 10:17:35
>899
なんだっ・・・て・・・・・・・
903デフォルトの名無しさん:2008/07/15(火) 10:30:26
結局のところ、
・AnsiString __fastcall AnsiToUtf8(const AnsiString S);
・AnsiString __fastcall Utf8ToAnsi(const AnsiString S);
があるか、ないかが問題。

BCB6にはあるが、5にはどーだっけ?
904894:2008/07/15(火) 10:34:53
どうも誤解してたみたいです>AnsiString
「VCLはSJIS依存」と言う記憶によってunicodeを扱うのに躊躇していたのですが
ここでのSJIS依存、もしくは今度のVCLのunicode対応というのはTFontなどの
キャラクターセットを持ったVCLについてであり、変数としてのAnsiString(WideString)に
ついては問題無くunicodeを使用出来ると言うことでいいのでしょうか?

Sysutilsはちょっと危ないかな?
905894:2008/07/15(火) 10:40:15
>>903
BCB5には無かった・・・・・orz
どうやらスタートラインに立ってなかったようです;;
906デフォルトの名無しさん:2008/07/15(火) 11:00:45
>>904
UTF8ってのは、もともとコードの範囲もヌルターミネイトが1文字ってのもASCIIと同じ。

つまり、いったんUTF8にしちゃえば、ソフトウェアというかプログラム側からは、
ASCIIなのかUTF8なのか知らなくてもふつーに処理が通る。

(ま、AnsiStringが単なるメモリバッファみたく何も意識せず使えるってのも間違いではない)

で、UTF8を受け付けずに、ANSIの入出力を受け付けないのはGUIコンポーネントの入出力。
だから、構造体は全部UTF8入れといて、描画のタイミングにUtf8ToAnsi、それと、コントロールからデータを貰った瞬間にAnsiToUtf8しとけば無問題。

>>905
無いんだあ。関数2つ足すだけなんだけどねぇ。
907デフォルトの名無しさん:2008/07/15(火) 11:09:34
>で、UTF8を受け付けずに、ANSIの入出力を受け付けないのはGUIコンポーネントの入出力。

で、UTF8を受け付けずに、ANSIの入出力しか受け付けないのはGUIコンポーネントの入出力。
908デフォルトの名無しさん:2008/07/15(火) 11:13:02
>>905
・AnsiString __fastcall AnsiToUtf8(const AnsiString S);
・AnsiString __fastcall Utf8ToAnsi(const AnsiString S);

これくらいなら自作できるはずだよ。

ttp://gtklab.sourceforge.jp/iconvmlang/index.html

ttp://www.nslabs.jp/icu.rhtml
909デフォルトの名無しさん:2008/07/15(火) 12:21:48

Turbo C++ Explorer を使用しています。
フォームのみのプロジェクトを作成して
デバッグすると約1分ほど固まる場合があるのですが
なぜでしょうか?
Hotfixは13まであてています。
910デフォルトの名無しさん:2008/07/15(火) 12:52:39
製品版買わないから
911デフォルトの名無しさん:2008/07/15(火) 12:55:34
IDEとかもう少し使いやすくカスタマイズ出来るようになったら
製品版買いたい
912デフォルトの名無しさん:2008/07/15(火) 17:10:22
製品買わないヤツは、言い訳を考え続けて
絶対に製品を買わない。
913デフォルトの名無しさん:2008/07/15(火) 17:47:35
製品買った奴はくやしいのうくやしいのうwwwwwwwwwwwwww
914デフォルトの名無しさん:2008/07/15(火) 19:00:29
またおまえか
915デフォルトの名無しさん:2008/07/15(火) 19:09:44
昔のやつより使いにくくなっているから
バージョンアップ出来ないでいるんだよ
916デフォルトの名無しさん:2008/07/16(水) 08:05:32
どんな物でも欲しいと思った時が買い時です
917デフォルトの名無しさん:2008/07/16(水) 08:42:54
最新版には高速コンパイルユニットと、メモリマネージャーが組み込まれたそうですが、
それによりIDEの反応速度はうpしてますか?

なんていうかIDEの反応が落ちるのが怖くてバージョンうpしてません。
918デフォルトの名無しさん:2008/07/16(水) 08:50:40
919917:2008/07/16(水) 09:49:12
>>918
それ、入れてます。入れてから快適(少しクセはあるけど慣れた)。だからバージョンうpが怖いのです。

入れてなければ逆にバージョンうpしか考えられなかったのですが。
920デフォルトの名無しさん:2008/07/16(水) 13:31:48
>■[C++Builder Tips]C++Builder6からBDS2006への移行時のチェックポイント
ttp://d.hatena.ne.jp/A7M/20060724/1153720394

結局、これってどうやって回避すんだ?
921デフォルトの名無しさん:2008/07/16(水) 13:48:50
再婚パイル。
922デフォルトの名無しさん:2008/07/16(水) 22:04:01
>>914
製品厨 釣られすぎw
くやしいからってリスカして死ぬなよ
イキロ
923デフォルトの名無しさん:2008/07/16(水) 22:08:24
何言ってんのこいつ
924894:2008/07/17(木) 09:00:58
>>906
なるほど、解説ありがとうございます
まだ手元にBCB6の環境が構築出来て無いんですがUtf8ToAnsiは
日本語以外の2バイト系文字列についても有効なんでしょうか?

入力は諦めるとしても表示くらいは行いたいんです
(該当言語のフォントはインストールされているのが前提)
925デフォルトの名無しさん:2008/07/17(木) 09:12:40
Ansiは日本語WindowsだとShiftJISで扱われるから、当然Ansiにした時点で化ける。
表示するならTNTとかのUnicode用GUIコンポは必須。
無しでやるならAPIレベルでコントロール作成するか、GDIのTextOutWでラスタライズして表示させるしかない。
926デフォルトの名無しさん:2008/07/17(木) 09:49:13
いや、BCBの関数の言うAnsiはWindowsのロケール言語設定のことだから、
日本語Windowsでは、Ansi=ShiftJIS。
927デフォルトの名無しさん:2008/07/17(木) 10:44:05
いいやいやAnsiはShiftJISだって
928894:2008/07/17(木) 10:49:11
となると例えば中文ならファイルはunicodeで保存しておいてそのまま読み込み
表示にはキャラクターセットとフォントはをGB2321にしたコンポーネントに
unicodeからGBにコード変換する関数を通して代入って感じでいけるか・・

変数(Utf8ToAnsi)単位でロケールの指定が直接出来るか
Win32Apiで直接変換出来ればなぁ
929デフォルトの名無しさん:2008/07/17(木) 11:00:58
WideStringで扱って、表示系はUnicodeコントロール使ったほうがいいと思うぞ。
930デフォルトの名無しさん:2008/07/17(木) 11:08:15
Utf8ToAnsiだってAPI(WideCharToMultiByte)使ってるんだから、コードページ指定すれば変換できるんでない。
931デフォルトの名無しさん:2008/07/18(金) 14:18:57
構造体にAnsiString変数を入れても普通にポインタ渡しして問題ないよね?
sizeofとかでサイズをアレしたりしなければいいよね?
932デフォルトの名無しさん:2008/07/18(金) 16:03:28
ポインタ渡しなら実体は一つだから問題なし
デフォルトコピーコンストラクタ呼び出してコピーもAnsiStringのコピーコンストラクタ呼ばれるから問題なし
::memcpyする奴は氏ね
933デフォルトの名無しさん:2008/07/18(金) 16:21:27
APIのZeroMemoryしても大丈夫?
934デフォルトの名無しさん:2008/07/18(金) 16:32:56
std::string はダメみたい。

Stringはどうなんだろうね?
935デフォルトの名無しさん:2008/07/18(金) 16:46:24
駄目に決まっとろう
936デフォルトの名無しさん:2008/07/18(金) 16:56:55
なにがダメなんだよ
937デフォルトの名無しさん:2008/07/18(金) 18:42:21
>933
c_str()で取ったポインタならやっても大丈夫。
938デフォルトの名無しさん:2008/07/22(火) 15:32:19
C++Builder2007使ってるんだけど
HOOK.dllロードのところで固まる。
解決策教えてもらえませんか?

939デフォルトの名無しさん:2008/07/22(火) 15:33:38
割厨乙
940デフォルトの名無しさん:2008/07/22(火) 16:31:02
>>939
トライアルバージョンで試しています。
941デフォルトの名無しさん:2008/07/22(火) 16:33:44
無料厨乙
942デフォルトの名無しさん:2008/07/22(火) 21:03:13
BCB6での質問です
DLL内で、"__declspec(dllexport)"を使ってクラスをエキスポートして、
アプリの方で"__declspec(dllimport)"を使ってリンク
該当クラスをnewした後deleteするとAccessViolationが起きます

中身は大体こんな感じです
// エキスポートしたいクラスのヘッダファイル (MyClass.h)
class DLL_EXPORT MyClass() {
public:
MyClass();
~MyClass();
int dummy();
};

// アプリ側 (Unit1.cpp)
#include "MyClass.h"
void __fastcall TForm2::Button1Click(TObject *Sender) {
MyClass *a = new MyClass();
delete a;
}

試行錯誤の結果、以下方法を取ればエラーは起きませんでした
・共有RTLを使用する、にチェック
・MyClassのコンストラクタ&デストラクタの処理をヘッダに移動

BCBのDLLウィザードにあったmemmgr.libを追加もやってみましたが変化無し
cppにあるコンストラクタ、デストラクタの中身を全て削除しても変化無し
デストラクタのスコープ抜け時にinternal_free?周辺でエラー?

プロジェクトオプションは、ディレクトリと条件定義以外は
共有RTL DLLを使う、実行時パッケージを使って構築のチェック解除のみです
長文になっちゃいましたが、わかる方いらっしゃったらお助け下さい
943デフォルトの名無しさん:2008/07/23(水) 16:51:45
エクスプローラから自分のソフトにファイル名をD&Dする方法はわかったのですが
逆に自ソフトからエクスプローラにファイル名をD&Dする方法を教えてください
944デフォルトの名無しさん:2008/07/23(水) 17:04:05
DoDragDrop
945デフォルトの名無しさん:2008/07/23(水) 17:26:37
>>944
たしかにそれBuilder2007にはあった。
ありがとう後は見づらい糞ヘルプみながらチャレンジしてみるぜ
946デフォルトの名無しさん:2008/07/23(水) 20:51:19
2007にはそんな便利なもんがあるのか?
947デフォルトの名無しさん:2008/07/23(水) 21:01:54
PlatformSDKが結合されてるんじゃないん?
OLEDnDまわり、カプセル化してくれないかなー
948デフォルトの名無しさん:2008/07/24(木) 08:02:46
VCのlibをBCBのlibにしたいのですが、

libからDLLをコンパイルで作ってimportとか言うのを使えばいいですか?
949デフォルトの名無しさん:2008/07/24(木) 09:27:13
VC側でDLL作ってimplibでインポートライブラリ作成だね、スタティックライブラリの場合は。
DLL作る際に関数のエクスポートを忘れずに。
インポートライブラリならCOFF2OMFで直接変換可能。
950デフォルトの名無しさん:2008/07/24(木) 11:45:11
トンクス libの中身がわからずdllにできないです・・・
951デフォルトの名無しさん:2008/07/24(木) 12:00:09
関数くらいわからなけりゃどのみち使えないだろ
ちなみにD3DXならC++Builder用公開してる人がいる
952デフォルトの名無しさん:2008/07/25(金) 09:53:01
TListViewで早く表示する方法を教えてくださいな
953デフォルトの名無しさん:2008/07/25(金) 10:40:08
仮想モードを使う
954デフォルトの名無しさん:2008/07/25(金) 12:09:55
CBuilderの仮想リストビューの参考になるとこってないですかね?
ぐぐったんだけどdelphiしかないしsubitemsもよくわからなかったしー
955デフォルトの名無しさん:2008/07/25(金) 12:51:58
仮想モード使わなくてもこれで解決できるレベルと予想
っTListItems::BeginUpdate
956デフォルトの名無しさん:2008/07/25(金) 13:45:11
>>955
予想は大きくはずれてるよ。
そんなのやってるし
957デフォルトの名無しさん:2008/07/25(金) 16:10:32
>956
SubItemsわからんと言ってるからたぶん当たってるぞw
958デフォルトの名無しさん:2008/07/25(金) 16:12:01
>>957
知らないならレスしないで下さい。ウザイです。
959957:2008/07/25(金) 16:36:09
今Delphiのサンプル見てきたんだけどこれで十分だろ?
SubItemsわからんっていったいなんのことだ?

夏が来たってことか・・・・
960デフォルトの名無しさん:2008/07/25(金) 18:22:48
仮想ListViewってOnDataに記述するだけだよな?
ListView->Items->Add()で返ってくるTListItemと同じ扱いをするだけだと思うけど
なんでそんなことがわからないのかがわからない・・・
961デフォルトの名無しさん:2008/07/25(金) 18:24:49
>>960
知らないならレスしないで下さい。ウザイです
962957:2008/07/25(金) 19:12:03
夏だな・・・
室内に閉じこもらないでプールでも行ってこい>961
963デフォルトの名無しさん:2008/07/25(金) 20:04:35
ただでさえ人少ないスレなんだから、もう少しうまくやらないと望む回答は得られないよ
964デフォルトの名無しさん:2008/07/25(金) 23:22:54
>>962>>963
知らないならレスしないで下さい。ホントマジウザイです
965デフォルトの名無しさん:2008/07/25(金) 23:44:36
騙りなんだろうけど、面白いと思ってやってるのかな
966デフォルトの名無しさん:2008/07/26(土) 02:18:56
>>965
コピペだから何言っても馬鹿の一つ覚えでアレしか出てこない
967デフォルトの名無しさん:2008/07/26(土) 13:18:18
あるオープンソースのソフトをbcc32(5.6.4)でmakeしたら
エラーも出ずにコンパイルできたものの、正常に動作しない
で、動作を追ったらDialogBoxParam()が1813エラーでスルーしてる
解決できる人いる?
968デフォルトの名無しさん:2008/07/26(土) 13:50:45
>>967
http://msdn.microsoft.com/en-us/library/ms681386(VS.85).aspx
>ERROR_RESOURCE_TYPE_NOT_FOUND
>1813
>0x715
>The specified resource type cannot be found in the image file.

リソースをリンクしてないんじゃね
969デフォルトの名無しさん:2008/07/26(土) 14:12:18
質問
C++Builder2007で
コンストラクタの初期化リストで起こる例外を
捕まえようとすると
"E2040 宣言が正しく終了していない"と
コンパイルエラーになってしまいます。
VisualStudio2008ではうまくいくのですが
C++Builderではできないのでしょうか?
970デフォルトの名無しさん:2008/07/26(土) 14:37:08
>>968
brc32で正しくリンクしてるようなんですけどね
↓ちなみにこのソフト(単体では動作しないです)
http://mksoft.hp.infoseek.co.jp/src/delogo_src20080621.zip

typeが合わない、つまりbrcc32が合わないのかな・・・
971969:2008/07/26(土) 14:56:25
無理そうなのであきらめました。すみません。
972デフォルトの名無しさん:2008/07/28(月) 00:10:10
【狂育部】ソフトウエア興業11【業無部】
http://science6.2ch.net/test/read.cgi/infosys/1216289288/599

C++の洒落プログラムを落としただけで炎上したんだがwww
読むとかなり面白いw
973デフォルトの名無しさん:2008/07/28(月) 00:43:14
全然…。
974デフォルトの名無しさん:2008/07/28(月) 02:01:41
>>972
別に…
君の味方に付く気はない。
975デフォルトの名無しさん:2008/07/28(月) 17:21:31
コントロールパネルの地域のオプションの数値の区切り記号の変数名は何ですか?
桁区切り記号はDecimalSeparatorってのがあったのでこれもあるとおもうのですが・・
976デフォルトの名無しさん:2008/07/28(月) 22:58:58
つ ThousandSeparator
977デフォルトの名無しさん:2008/07/29(火) 10:24:44
>>976
いやそれ少数点じゃない?
それかシステムデフォルトの区切りかどっちかかな?
もしThousandSeparatorだとすると、これのユーザーデフォルトの値が欲しいのですが
何か他の変数に設定したりするんですか?
978デフォルトの名無しさん:2008/07/29(火) 23:34:06
日本語でおk

何が知りたいのかさっぱりわからん。グローバル変数DecimalSeparatorとThousandSeparatorは
それぞれ小数点と1000の単位の区切り文字で、Windowsの地域の設定から取得するようになっている。

で?ユーザデフォルトって何?
979デフォルトの名無しさん:2008/07/30(水) 10:10:25
>>978
ThousandSeparatorは現在の言語設定じゃなくてOSのじゃないかってこと
例えば日本語OSで地域オプションをイタリア語にしてもThousandSeparatorはカンマになる(これはセミコロン)
ちなみにDecimalSeparatorはちゃんとイタリア用のカンマになってる。
んで文字区切りをAPIで取るとシステムとユーザーと取る事ができて
システムで取ると日本語用になってるがユーザーで取ると地域オプション設定から取ってるみたいな
だからThousandSeparatorは黙ってると地域オプションからもってきてないのかなーと
980デフォルトの名無しさん:2008/07/30(水) 17:53:27
仮想リストビューでソートする方法を教えてくださいよ。
仮想モードだとCustomSort使えねー
981デフォルトの名無しさん:2008/07/30(水) 18:16:24
項目をvectorに放り込んでsortとか使えば?
982デフォルトの名無しさん:2008/07/30(水) 18:19:28
>>981
元データであれするってことですね?
983デフォルトの名無しさん:2008/07/30(水) 18:22:16
>>982
仮想リストビューは描画が必要なときにデータ要求するだけだから元データでソートするしかないんじゃないかな
984デフォルトの名無しさん:2008/07/30(水) 18:30:39
>>983
ですよね・・・
元アレでやってみまーすう
985デフォルトの名無しさん:2008/07/30(水) 19:59:16
>>984
元データの順番変えたくないなら、元データからlist作成してソートかな
986デフォルトの名無しさん:2008/07/30(水) 22:59:13
>979
どちらもスタートアップの処理内でGetLocaleInfoを使用して現在のロケールの設定を
もらってきている。ただしGetLocaleInfoがエラーを返したときはデフォルトとして"."および","を
使用するようになっている。詳細はSysUtils.pasを参照。つかステップ実行で試せばいいじゃん。
987デフォルトの名無しさん:2008/07/31(木) 11:49:28
仮想リストビューの人うまくいったんだなw
988デフォルトの名無しさん:2008/07/31(木) 13:35:53
仮性包茎のうまくやったんだな?
989デフォルトの名無しさん:2008/07/31(木) 17:10:25
エクスプローラのリストビューで複数ファイルを選択してドラッグしたら
選択したファイルが半透明であれするんだけどそれどうやってやるの?
990デフォルトの名無しさん:2008/07/31(木) 18:42:46
OLEDnD
991デフォルトの名無しさん:2008/07/31(木) 18:59:59
どこかに参考になるソースないですか?

あと、右ボタンでもドラッグしたいんだけどやりかたおしえてくださいよ
992デフォルトの名無しさん:2008/07/31(木) 19:14:37
つーか、DoDragDropのやりかた教えて
993デフォルトの名無しさん:2008/08/01(金) 00:29:28
またお前かw
994デフォルトの名無しさん:2008/08/01(金) 07:35:30
アイコンが半透明で表示される機能はイメージリストにそういう機能があったような
995デフォルトの名無しさん:2008/08/01(金) 10:06:04
>>992
サクラエディタのソースでも見てこい
996デフォルトの名無しさん:2008/08/01(金) 10:12:58
>>995
しょうがねえなあ、みてきてやるよ
997デフォルトの名無しさん:2008/08/01(金) 15:07:43
さっさと右ボタンでD&Dする方法教えろよ
998デフォルトの名無しさん:2008/08/01(金) 15:19:31
右ボタンのダウンを拾えばいいジャン。
999デフォルトの名無しさん:2008/08/01(金) 15:24:38
駄目な奴は(ry
1000デフォルトの名無しさん:2008/08/01(金) 15:25:39
何をやっても駄目
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。