C++Builder相談室 Part16

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

【前スレ】
 C++Builder相談室 Part15
 http://pc8.2ch.net/test/read.cgi/tech/1124614110/

過去スレ・関連サイトは>>2-7あたり。

※Borland C++ Compiler 5.5.1についての質問は以下のスレへ
 タダで使えるBorland C++ Part4
 http://pc8.2ch.net/test/read.cgi/tech/1091066805/l50
2デフォルトの名無しさん:2006/02/01(水) 12:59:18
<関連スレ>
Borland Developer Studio 2006 No.02
http://pc8.2ch.net/test/read.cgi/tech/1138097639/

くだすれC++Builder(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1117225464/
Borland C++ BuilderX
http://pc8.2ch.net/test/read.cgi/tech/1065260556/
タダで使えるBorland C++ Part5
http://pc8.2ch.net/test/read.cgi/tech/1135127048/
【Delphi】 Indyコンポーネント 【C++Builder】
http://pc8.2ch.net/test/read.cgi/tech/1093654251/l50

<VCL兄貴のDelphiスレ>
くだすれDelphi(超初心者)その30
http://pc8.2ch.net/test/read.cgi/tech/1138370150/
||:3ミ バカボンのパパのDelphi談話室その28
http://pc8.2ch.net/test/read.cgi/tech/1136472830/
3デフォルトの名無しさん:2006/02/01(水) 13:00:43
<関連サイト>
公式サイト
http://www.borland.com/cbuilder/
http://www.borland.co.jp/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.nifty.com/

<Update>
BCB6/US SP1 は BCB6/JP 製品版に含まれています。
C++Builder 6 Update4 日本語版
ftp://ftp.borland.co.jp/pub/cbuilder/
C++Builder 6 Linker Update
http://www.borland.com/products/downloads/download_cbuilder.html
4デフォルトの名無しさん:2006/02/01(水) 13:01:54
<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/Windowsプログラミング(Tips系)
http://www.kh.rim.or.jp/~maruoka/Builder/index.shtml
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/
norika-s Program Tips(一般Tips)
http://hawaii.naist.jp/~norika-s/program_tips/
Delphian World(コンポーネントライブラリ)
http://www6.airnet.ne.jp/~sone_san/delphi/
DelWiki 避難所。
http://wiki.s54.xrea.com/delphi/
5デフォルトの名無しさん:2006/02/01(水) 13:02:33
<ツール/コンポーネント>
<<フリー>>
フリーカーソル無効化アドイン
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デフォルトの名無しさん:2006/02/01(水) 13:43:45
<参考図書>
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デフォルトの名無しさん:2006/02/01(水) 13:45:41
<過去スレ>
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
C++Builder相談室 Part8(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1070222674/l50
C++Builder相談室 Part9(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1080541814/l50
C++Builder相談室 Part10(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1089299158/l50
C++Builder相談室 Part11(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1094749339/l50
C++Builder相談室 Part12(html化待ち)
http://pc5.2ch.net/test/read.cgi/tech/1099238936/l50
C++Builder相談室 Part13(html化待ち)
http://pc8.2ch.net/test/read.cgi/tech/1108468718/l50
C++Builder相談室 Part14(html化待ち)
http://pc8.2ch.net/test/read.cgi/tech/1116460578/l50
C++Builder相談室 Part15(前スレ
http://pc8.2ch.net/test/read.cgi/tech/1124614110/
8デフォルトの名無しさん:2006/02/01(水) 15:56:13
>>1
9デフォルトの名無しさん:2006/02/01(水) 17:30:11
>>1
乙π
10デフォルトの名無しさん:2006/02/01(水) 20:29:33
>>1


BDSスレには晒したけど、Wiki作ったので使ってくれい
ttp://wiki.livedoor.jp/a7m/d/FrontPage
11デフォルトの名無しさん:2006/02/02(木) 03:38:08
>>10
それってIDないと書き込めないじゃん。もっと他のところで作れば?
12デフォルトの名無しさん:2006/02/02(木) 03:58:11
次回作は2007年末にはでますか?
13デフォルトの名無しさん:2006/02/02(木) 05:56:15
>>10

凄く助かります
1410:2006/02/02(木) 09:48:59
>>11
まぁ、設置が手軽だったのと、DelWikiの一件があったから。
本当は、SoureForge.jpにPukiWikiを設置するつもりだったんだけど。

そんなに厳しく管理するつもりはないから、捨てIDでもいいから気軽に使ってちょうだい。
15デフォルトの名無しさん:2006/02/09(木) 09:22:32
Borland、「Delphi」「C++Builder」等売却へ
http://live22x.2ch.net/test/read.cgi/news/1139444093/

嗚呼
16デフォルトの名無しさん:2006/02/09(木) 09:42:18
ボーランドは俺を怒らせた…
17デフォルトの名無しさん:2006/02/09(木) 10:47:22
ボーランドは俺も怒らせた・・
18デフォルトの名無しさん:2006/02/09(木) 11:27:29
bcc32でbrewコンパイルできるらしいけど、
C++Builderでコンパイルする方法はあるんでつか?
19デフォルトの名無しさん:2006/02/09(木) 12:15:06
売却先がGoogleなら未来は超明るい。
20デフォルトの名無しさん:2006/02/09(木) 12:31:40
ググルの資金ならさらっと買えちゃいそう。
21デフォルトの名無しさん:2006/02/09(木) 16:19:43
ばくだんいわは ようすをみている
22デフォルトの名無しさん:2006/02/09(木) 16:22:07
Borlandは逃げ出した。
敵はいなくなった。

Microsoftは戦いに勝った。
23デフォルトの名無しさん:2006/02/09(木) 16:41:16
しかしドトネト地方は荒野となった。
24デフォルトの名無しさん:2006/02/09(木) 17:48:42
金かやせ
25デフォルトの名無しさん:2006/02/09(木) 20:27:48
C++Builderはどうなるんだよ!
26デフォルトの名無しさん:2006/02/09(木) 22:46:35
まあ迷走していたからなあ
どうなるんだろう これから
Delphiの方が大変か・・・
27デフォルトの名無しさん:2006/02/09(木) 22:58:41
Delphiはまだどこかに拾ってもらえそうだけど、
C++Builderはこのまま立ち消えそうだ。
28デフォルトの名無しさん:2006/02/09(木) 23:24:44
グーグル買ってやれ
29グーグル:2006/02/09(木) 23:27:22
いらね。
30デフォルトの名無しさん:2006/02/09(木) 23:31:11
そう言わずになんとかおねげーしますだ。
31デフォルトの名無しさん:2006/02/10(金) 00:25:58
さてと、最後の思い出にBDSを買ったものかどうか?
32デフォルトの名無しさん:2006/02/10(金) 00:45:53
バグだらけのまま放置される
33デフォルトの名無しさん:2006/02/10(金) 07:37:55
http://www.itmedia.co.jp/news/articles/0602/09/news010.html
Borlandが開発ツールを売却、Segue Software買収
アプリケーションライフサイクル管理(ALM)推進の一環として、米Segue Softwareを買収し、統合開発環境(IDE)関連事業の売却先探しに当たる。


 Borland Softwareは2月8日、アプリケーションライフサイクル管理(ALM)推進の一環として、統合開発環境(IDE)に関連した事業の一部を売却する計画を発表した。

 売却の対象にはBorland Developer Studio(Delphi、C++Builder、C#Builder)とJBuilderが含まれる。BorlandではBear, Stearns & Co.と契約して売却先探しに当たる。

 同時に、米Segue Softwareを約1億ドルで買収する合意を交わしたと発表した。同社はアプリケーションライフサイクルを通じたソフト品質定義、測定、管理、向上のための製品を提供している。

 いずれも、拡大しているALMの分野で主導的な地位の確保を目指す戦略に沿ったものだとBorlandは説明している。
34デフォルトの名無しさん:2006/02/10(金) 09:17:23
C++Builderはかなりいいものだと思うのだが、いいものが生き残るとは限らない
35デフォルトの名無しさん:2006/02/10(金) 09:37:16
もしC++BuilderやDelphiがなくなったら
ネイティブアプリの開発はみんなVCかよ。
それでいいのか、みんな・・。
36デフォルトの名無しさん:2006/02/10(金) 10:34:56
ポトペタC++って他にあるの?
37デフォルトの名無しさん:2006/02/10(金) 10:57:28
WideStudio
38デフォルトの名無しさん:2006/02/10(金) 11:07:55
>>37
冗談に噴出したが、マジそうかも。
FreePascalかWideStudioか。
39デフォルトの名無しさん:2006/02/10(金) 15:07:33
>>36
VC++
40デフォルトの名無しさん:2006/02/10(金) 15:39:24
VC++ってポトペタ可能になったの?
たとえば画面分割とかの場合
VCLならTSplitterを分割したいコンポーネットの上に置くだけだけど
MFCならCSplitterWndクラスを作成してごにょごにょと設定しないといけなかったけど
VCLみたいに簡単に出来るようになったの?
41デフォルトの名無しさん:2006/02/10(金) 16:57:53
ポトペタって言葉、流行ってるの?
気持ち悪いったらありゃしない…
42デフォルトの名無しさん:2006/02/10(金) 17:04:18
ボットンベッタン
43デフォルトの名無しさん:2006/02/10(金) 17:25:30
ポトペタってかなり昔から使われてるよ。
44デフォルトの名無しさん:2006/02/10(金) 17:41:13
ぽたぽた焼きみたいだ
45デフォルトの名無しさん:2006/02/10(金) 17:43:11
ポートリプリケータはポトリプ?
46デフォルトの名無しさん:2006/02/10(金) 18:44:13
必ずしもポトペタである必要はないと思うけどな。
小物のUIを作るときに便利だけど。
47デフォルトの名無しさん:2006/02/10(金) 18:56:03
UIのポトペタは意味ある。実行しなくても画面デザインがある程度わかるから。
48デフォルトの名無しさん:2006/02/10(金) 23:13:36
棒がBCB投げても俺は使い続けるよ。
だって便利だもん。
49デフォルトの名無しさん:2006/02/10(金) 23:38:47
BCB6の使用許諾はどうなるのだろう?
ってかオンラインで取れなくなって放ってるんだが
50デフォルトの名無しさん:2006/02/11(土) 03:11:31
>49
電話かけたら親切に教えてくれたよ
51デフォルトの名無しさん:2006/02/11(土) 07:12:49
キージェネあるよヒヒヒ
52デフォルトの名無しさん:2006/02/11(土) 14:30:50
ヒヒヒヒ
53デフォルトの名無しさん:2006/02/13(月) 00:13:08
>>C++Builderユーザ
開発環境を失うの? m9(^Д^)プギャー







・・・俺は元Borland C++ユーザだったがな。 orz
54デフォルトの名無しさん:2006/02/13(月) 02:25:25
ちょっと質問。

プログラム上は普通に #include <set> 等としてあるだけの時で
Rogue Wave のSTLを使っているかどうかを判別するマクロってありますかね?
#ifdef _USE_OLD_RW_STL は、BCB6限定だし、
出来ればBCC以外のコンパイラにも対応したいなと思って(売りに出されたし)。
さらっとヘッダを眺めて怪しそうだった _RWSTD_VER は、
STLPortの時でも何故か #define されてます。


何がしたいのかというと、
setやmapを使うとき、大抵のSTLはちゃんとメモリを
プールして確保してくれるんですが、このサイズが1Kとか4Kとかで固定なんですね。

で、RWのSTLに限り、非標準ながらallocation_size()というのを使って
一括して確保する量を指定できるんです。
実際にsetなりで数十万個以上の要素を確保する時に
体感できるくらいの差が出たんですよ。
55デフォルトの名無しさん:2006/02/13(月) 02:25:59
そういうわけで、コード自体の可搬性は出来るだけ保ちながら
可能ならallocation_size()を使えるようにと

#ifdef XXXXX /*_RWSTD_VER*/
struct allocsizesaver {
 int org_alloc_size;
 template<typename T> allocsizesaver(T& container, size_t size) {
  org_alloc_size = container.allocation_size();
  container.allocation_size(size);
 }
 template<typename T> void restore(T& container) {
  container.allocation_size(org_alloc_size);
 }
};
#else
struct allocsizesaver {
 template<typename T> allocsizesaver(T&, size_t) {}
 template<typename T> void restore(T&) {}
};
#endif

のようなものを作って、
まとめて要素を追加する前と後に入れたいんですが
XXXXX の部分がどうもうまくいかなくて。
56デフォルトの名無しさん:2006/02/13(月) 02:35:25
あ、よく考えたら
#if defined(_RWSTD_VER) && !defined(_STLPORT_VERSION)
で十分な気がしてきた。

失礼しました。
57デフォルトの名無しさん:2006/02/13(月) 15:55:50
http://www.itmedia.co.jp/enterprise/articles/0602/13/news034_2.html

「Googleが買収した場合は、すべてのBorland製品がhttp://devtools.google.comから無償でダ
ウンロードして利用できるようになると予想される。これはすごい市場シェアになるだろう。Microsoft
にとっては非常に恐ろしいことだ。おそらくこれは、Borland のIDEツールの信奉者にとってベスト
なシナリオであり、ビッグM(Microsoft)とビッグG(Google)の勢力バランスをさらに崩すものとなる
だろう」(同氏)


個人的にはこれが一番なのだが・・・。皆さんはどうですか?
58デフォルトの名無しさん:2006/02/13(月) 16:19:58
>>57
いや、バグは取られないまま放置されそうだから反対。
オープンソースになれば、有志がこぞって手直ししそうなんだけどな。
59デフォルトの名無しさん:2006/02/13(月) 17:26:39
Googleが買収することには賛成するけど
無償で提供されることになるということには大反対。
俺と作品がかぶる香具師が増えてしまうのはイヤだ。
俺らBorlandユーザーがお金払って購入して今の環境になっているのに
それが無償で提供されてしまうのがイヤだ。
でもGoogleになってしまったら確実に無償提供なんだろうな。orz
?エンタープライズ版になるのか?
60デフォルトの名無しさん:2006/02/13(月) 18:31:58
>>57
それプラスオプソ化で、各OSにDelphiが標準装備となったら、大パニックだお。
6160:2006/02/13(月) 18:38:40
MACから組み込みまでDel/VCL入ったらドントネットォ〜が消滅しちゃうよね。
パニックを避けるために、ググル化報道を2段構えした











と思いたい。
62デフォルトの名無しさん:2006/02/13(月) 21:37:45
>60
>標準装備
夢のような未来だ、それは!
63デフォルトの名無しさん:2006/02/13(月) 21:55:47
そうなったらM$が黙っちゃいまい。
無理矢理買い取って、活かすも殺すもM$次第・・・・となりそう。
64デフォルトの名無しさん:2006/02/13(月) 22:46:23
何夢を見てるんだ。
6562:2006/02/13(月) 23:37:54
>各OSにDelphiが標準装備
私はむしろ.netを普及させるブレークスルーにもなりうると思いますね。
66デフォルトの名無しさん:2006/02/14(火) 08:54:10
いや、Del/VCLが普及するかどうかが気になるだけでドトネトがブレークスルーしようが死滅しようが無問題。
ただ、組み込みからいうとO$の上でドトネトランタイムなんてやると機器コストかかるから、ドトネトチップ(話も出ないね)が出なきゃスルーだ罠。
67デフォルトの名無しさん:2006/02/14(火) 10:45:30
GoogleがRAD開発ツールを買収で手に入れたいと考えても
不思議はないけど、それって、俗にWeb2.0と呼ばれている、
「既存のWeb技術のごちゃまぜ環境」を何とか整理するため
じゃないかなぁ と、個人的には思う。

C++Builderが無償ダウンロードできたところで、MSはすでに
VSで絶対的な地位を確保しているし、どだいWindowsプラットホーム
では、MS様が絶対神。MSは、痛くも痒くもない。

だけど、Windowsの支配下にないインターネット向けのツールの
世界であれば、話は違ってくるし、例えばMSがFirefoxのための
ツールを作るわけにはいかんだろう。
68デフォルトの名無しさん:2006/02/14(火) 11:20:51
>VSで絶対的な地位を確保しているし、どだいWindowsプラットホーム

”Win+開発ツール”の組み合わせが弱くなるんじゃね?
M$記事にもあったがWinの強みは既存のソースコード。
V$はドトネト・ネイティブ・ActiveXが混在してとても初心者には手が出せなくなってるお。
69デフォルトの名無しさん:2006/02/14(火) 13:18:40
ポトペタでブラウザ上のGUIが設計できて、それがちゃんとサーバー側の
コードと連携するようになっていて、ブラウザ側のスクリプトの非同期通信と
サーバー側のプログラムもちゃんとつじつまがあっている・・・

なんてツールは、かりに発売されたとして、いったい何万円するんだろう。
70デフォルトの名無しさん:2006/02/14(火) 14:09:54
>>59
道具が用意された所で作れない人は作れないんだから、その辺は
心配ないでしょう。  ただ、VB出だしの頃のように、素人設計のソフト
が氾濫することはあるだろうけども。
google選択となれば、デベロッパ市場に風穴が開きますね。
71デフォルトの名無しさん:2006/02/21(火) 18:06:36
BCB4でデータベースを扱っています。
フィルターの設定方法がHP等を検索してみても見つからないので教えていただけないでしょうか。

Exec(Function("Filter")

で、実行はできるみたいなのですが
72デフォルトの名無しさん:2006/02/21(火) 23:54:42
4・・・・
73デフォルトの名無しさん:2006/02/22(水) 16:34:31
Formをダイナミックに作成した場合、OnCloseのイベントの結びつけは
どうすればいいのでしょうか?
単にvoid __fastcall hogeclose(TObject* Sender, TCloseAction& Action)という関数を作り
HogeForm->OnClose = hogeclose;とやるとコンパイラに怒られますorz
74デフォルトの名無しさん:2006/02/22(水) 17:27:52
>>73
なんて言って怒られたのか言ってごらん。
75デフォルトの名無しさん:2006/02/22(水) 17:30:24
>>73
hogecloseはただの関数じゃなくて、何か適当なクラスのメンバ関数じゃないと駄目だけども
76デフォルトの名無しさん:2006/02/22(水) 17:43:37
hogecloseが定義される前に参照しちゃってんじゃないの?
77デフォルトの名無しさん:2006/02/23(木) 01:33:21
質問する人は、エラーメッセージくらい書きなさい。
情報の小出しはやめなさい。
エラーになったらできない=阿呆。
エラーメッセージを見て、その原因を考えなさい。
78デフォルトの名無しさん:2006/02/23(木) 02:12:38
this->LogMessage("サービスの開始", EVENTLOG_INFORMATION_TYPE,NULL,NULL);
79デフォルトの名無しさん:2006/02/23(木) 02:14:34
サービスアプリケーションで
this->LogMessage("サービスの開始", EVENTLOG_INFORMATION_TYPE,0,0);
と書いてイベントビューアに表示させようとしたら
80デフォルトの名無しさん:2006/02/23(木) 02:20:40
たびたびすいません

イベントビューアに
イベント ID (0) (ソース test 内) に関する説明が見つかりませんでした。
リモート コンピュータからメッセージを表示するために
必要なレジストリ情報またはメッセージ DLL ファイルが
ローカル コンピュータにない可能性があります。
次の情報はイベントの一部です: サービスの開始.

と書かれます

前にある変なメッセージを消したいのですが

いろいろ調べて
http://www.monyo.com/technical/products/evt_messages/
にたどり着いたのですが
このページのようにやっても解決しません

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application
の後ろに追加するのはサービス名でしょうか?
exeの名前でしょうか?
それらを試してもうまくいきません
81デフォルトの名無しさん:2006/02/23(木) 02:23:50
>>77
回答する人は、エラーメッセージくらい推測しなさい。
逆質問の小出しはやめなさい。
1から10まで説明されないと問題を理解できない=阿呆。
質問文をよく見て、その行間を考えなさい。
8281:2006/02/23(木) 02:28:20
ネタで書いてみたんだが、実際問題ちゃんと問題を説明できないようなヤツだからこそ自力で解決できず
頼ってきてんのに、理路整然とした説明を始めから求めるのは酷なような気がする。
8380:2006/02/23(木) 02:32:53
ごめんなさい
http://www.monyo.com/technical/products/evt_messages/
の方法で出来ました。

DLLのファイル名の綴り間違えてた
どうも失礼しました。
84デフォルトの名無しさん:2006/02/23(木) 02:45:42
ガキを甘やかすと付け上がる。
馬鹿でもエラーメッセージくらいは書き込めるだろ。
85デフォルトの名無しさん:2006/02/23(木) 02:56:42
質問するときの最低限のマナーくらいは教育すべきですな
86デフォルトの名無しさん:2006/02/23(木) 03:30:11
>>84
実際、書き込めてないじゃん。

>>85
じゃ、その教育はお前に任せた!よろしく!
87デフォルトの名無しさん:2006/02/23(木) 04:29:20
何が実際だよあほだな。
書くべきだという事を知らないから書いてないだけだろ。
88デフォルトの名無しさん:2006/02/23(木) 05:46:23
C++BuilderでOpenMPを使うことはできますか?
89デフォルトの名無しさん:2006/02/23(木) 10:36:07
もしだめでも君がソース書き直せば大丈夫
90デフォルトの名無しさん:2006/02/24(金) 15:14:32
つまらないネタですが、フォーム(のソース)にて
BorderIcons = TBorderIcons();
と書くと、最大化・最小化・閉じるボタンが無くなります。
91デフォルトの名無しさん:2006/02/24(金) 18:07:20
俺も同じようなネタ投下するわ

1 + 1 = 2
92デフォルトの名無しさん:2006/02/27(月) 14:55:32
BorderIcons = TBorderIcons();

って、小学校で習うんだ・・・
93デフォルトの名無しさん:2006/02/27(月) 22:22:21
バカ丸出し
94デフォルトの名無しさん:2006/03/02(木) 13:19:08
[Win32]SDK32:2つのENTERキーの違い
http://d.hatena.ne.jp/takel/searchdiary?word=*%5BWin32%5D
case WM_KEYDOWN:

{

if (wParam == VK_RETURN)

{

if (lParam & 0x1000000L)

{

// テンキー側のENTERキー

}

else

{

// 標準キーボード側の ENTER

}

}

} break;
95デフォルトの名無しさん:2006/03/05(日) 23:06:15
すいません、ちょっと質問を。
BCB6と、boost1.33.1の正規表現ライブラリを利用したプログラムを組んでいます。

struct print_submatch {
    bool operator ()(const boost::match_results<std::string::const_iterator>& m) {
    cout << m.str(0) << endl;
    return true;
    }
};
int main()
{
    // "o"を含む単語にマッチする単語を正規表現で検索
    boost::regex  r( "([a-zA-Z]*).o.([a-zA-Z]*)" );
    string str1 = "A quick brown fox jumps over the lazy dogs.";
    boost::regex_grep( print_submatch(), str1, r );
    return 0;
}
とやると、結果が

brown
fox
jumps over
dogs

となってしまいます。
jumps over ではなく、 over だけ帰ってきてほしいのですが・・・。
boostの[a-zA-Z]*って空白文字にもマッチするバグでもあるんでしょうか?
(\b|[a-zA-Z]*).o.([a-zA-Z]*|\b)とやっても結果は改善されず。
誰か解決法をご存知でしたら、教えてください。
96デフォルトの名無しさん:2006/03/06(月) 00:06:30
>>95
ドットは空白にもマッチするので、[o]にしたらなんかperlではできた。
97デフォルトの名無しさん:2006/03/06(月) 00:13:26
>>95
補足。
([a-zA-Z]*)[o]([a-zA-Z]*)
98デフォルトの名無しさん:2006/03/06(月) 03:59:42
LDAPにアクセスするコンポーネントはありませんか?
9995:2006/03/06(月) 22:53:04
>>96

うあ、そういうことか。
ありがとうございました。
100デフォルトの名無しさん:2006/03/08(水) 00:52:04
すみません もしご存知の方いらっしゃったら教えてください
現在「TXMLDocument」コンポーネントを探しています。
以前はCodeCentralからダウンロードできたのですが、今はCodeCentralのページへアクセスできなくなってしまいました。
もしCodeCentral以外の場所で入手可能な場所があれば教えていただけないでしょうか。
よろしくお願いします。
101デフォルトの名無しさん:2006/03/08(水) 01:40:14
質問いいですか?
BDS2006のC++Builderのilink32がilink32.cfgを見てくれません。
ちゃんと見てくれる方法はないですか?

具体的には、

 ilink32 test.obj cw32i.lib

なんてやると、

 Fatal: ファイル 'CW32I.LIB' を開けません

とでます。
BCCでは、ちゃんとilink32.cfg見てくれるんだけどなあ。
102デフォルトの名無しさん:2006/03/08(水) 01:41:30
BCCってのは、無料配布のBorland C++ Compilerのことです。
103デフォルトの名無しさん:2006/03/08(水) 01:42:00
age忘れた
104デフォルトの名無しさん:2006/03/10(金) 01:28:46
105デフォルトの名無しさん:2006/03/10(金) 01:46:38
>>101
たしかにバグってる気がしますね。
ilink32.exeはカレントディレクトリ、ilink32.exeがロードされた
ディレクトリの順でilink32.cfgを探しに行くようなので
ilink32.cfgをコンパイルするカレントディレクトリにコピーしてみたら
どうでしょう?
ためしに適当なソースでやってみたら
Fatal: ファイル 'CW32I.LIB' を開けません
はでなくなりました。
適当なソースでやったので別のエラーが出ましたが、適当なソースだから
悪いのか、そもそもilink32.exeが悪いのかは、わかりません。
106100:2006/03/12(日) 23:25:35
返信遅れてすみません & レスありがとうございます

やはり自宅のパソコンからだと何度アクセスしてもCodeCentralのページにつながりませんでした
(教えていただいたアドレスも試してみましたがダメでした)

104さんが普通に接続できたということは、こちら側のネットワークの問題か何かだと思いますので
今度別の場所からCodeCentralにアクセスできるか試してみることにします
107デフォルトの名無しさん:2006/03/13(月) 13:32:35
TShapeのコンポーネントのアイコンには三角形が見えるけど、
実際にTShapeで三角形や斜め線を描くにはどうすればいいのでしょうか。
108デフォルトの名無しさん:2006/03/18(土) 19:04:38
アイコンに猫が描かれていれば猫が使えるのか。
君は阿呆か。
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
110デフォルトの名無しさん:2006/03/18(土) 23:44:07
EExternal or これの派生例外クラスをcatchしたときに、
メンバのExceptionRecordがNULLになってしまうのですが、何か設定が悪いのでしょうか

Delphiで同じようなコードを書いた場合は取得できます。
111デフォルトの名無しさん:2006/03/19(日) 04:39:56
112デフォルトの名無しさん:2006/03/19(日) 05:08:49
pathを設定したあと、どうすればコンパイルできるようになりますかWin9xです
113デフォルトの名無しさん:2006/03/19(日) 22:16:50
>107-108
アイコンに○△□が描かれて入ればそれが描けると思うのが普通だろ。
アイコンとは本来そういうもんだに。
114デフォルトの名無しさん:2006/03/19(日) 22:21:48
それがそうでないのが某クォリティー
115デフォルトの名無しさん:2006/03/19(日) 22:27:41
エラーの意味がヘルプにないよ。ナンバーでぐぐってんの?みんな
116デフォルトの名無しさん:2006/03/19(日) 22:28:12
ちなみにBDS2006では△は描かれていない。
117デフォルトの名無しさん:2006/03/19(日) 22:29:04
>>115
あるけど
118115:2006/03/19(日) 22:31:03
>>117
フリーのだけど、ないよ。
119デフォルトの名無しさん:2006/03/19(日) 22:32:50
スレ違い
120デフォルトの名無しさん:2006/03/19(日) 22:33:47
>>118
フリーのC++Builderなんてないのだが。
スレ違いでこっちでは?
http://pc8.2ch.net/test/read.cgi/tech/1135127048/
121デフォルトの名無しさん:2006/03/21(火) 18:46:05
>>101
中間ファイルとかライブラリの出力パスをデフォルト以外
にしてない?
俺の場合は同じエラーが出たけどパスをデフォルトにした
ら直ったよ。
122デフォルトの名無しさん:2006/03/21(火) 20:45:13
>>81
質問者しか知り得ない情報を憶測するなんて不可能。
その理屈で行くと、医者は「具合が悪いから治せ」だけで、治さなければならない事になる。
どんな名医でも詳しい症状を聞かなければならないのと同じで、
質問者がどんなエラーメッセージが出たのかを書かなければ、誰にも正確な症状は伝わらない。
123デフォルトの名無しさん:2006/03/21(火) 21:17:17
>>122
これが世に言う「釣りにマジレス」か
124デフォルトの名無しさん:2006/03/21(火) 21:29:30
しかも時間差攻撃
125デフォルトの名無しさん:2006/03/21(火) 21:40:15
だが実はそれこそがコピペ
126デフォルトの名無しさん:2006/03/22(水) 23:47:26
これが世に言う「米騒動」か
127デフォルトの名無しさん:2006/03/23(木) 23:39:13
いまさらですが、BCB6を導入しました。
128デフォルトの名無しさん:2006/03/23(木) 23:54:42
帳票作成はどうしてますか?有料でも良いツールがあればおしえてください
129デフォルトの名無しさん:2006/03/24(金) 00:12:02
Access
130デフォルトの名無しさん:2006/03/24(金) 01:51:24
>128
付属のQuickReportじゃダメなのかね?出来はいまいちだがDBコンポーネントに対応している。
131デフォルトの名無しさん:2006/03/24(金) 09:24:45
PostgreDACってどうなんだろう
C++Builder 5-6に対応してるみたいだし。

http://www.microolap.com/products/connectivity/postgresdac/
132デフォルトの名無しさん:2006/03/24(金) 15:48:37
Indy10は使えないのでしょうか?
133デフォルトの名無しさん:2006/03/24(金) 16:08:34
>>132
いじれば使える。ぐぐれ。
134デフォルトの名無しさん:2006/03/24(金) 16:39:47
Indyスレ池
135デフォルトの名無しさん:2006/03/25(土) 02:53:23
>>131
へぇ〜。まだインストしてないけど、これいいね。 安定度も○なのかな?
136デフォルトの名無しさん:2006/04/02(日) 22:43:19
他のIDEへ移行する人います?
137デフォルトの名無しさん:2006/04/02(日) 23:42:48
はいはいクマクマ
↓次どうぞ
138デフォルトの名無しさん:2006/04/03(月) 01:32:11
いや一応BDS2006買ってインストロールしたんですけど、
安全のためにBCB6は残してあります。このスレも巡回路。
手が覚えてる操作ってのもあるし、急にスイッチできないし、
ライブラリとかコンポーネントとか(以下長くなるので略
139デフォルトの名無しさん:2006/04/03(月) 12:52:38
C++OWL は沢山やりましたが,Builder は数日前に習い始めた初心者です。

ある範囲内の点の色を一挙に表示するのに,OWL には TMemoryDC いうのが
あって,例えば
for (i=1; i<=100; i++)
for (j=1; j<=100; j++)
memDC.SetPixel(i, j, TColor(c1[i][j], c2[i][j], c3[i][j]));
で,予め全ビットに色の値を与えてから,
dc.BitBlt(X1, Y2, a, b, memDC, 0, 0, SRCCOPY);
とするなどの方法がありましたが,C++Builder ではどのようにしたら良いか
分りません。

御存知の方教えて下されば,恩に着ます。
140デフォルトの名無しさん:2006/04/03(月) 13:44:12
コンパイルしてないけどこんな感じか?

HWND hWnd;
TCanvas* DC = new TCanvas;
TCanvas* memDC = new TCanvas;
dc->Handle = GetDeviceContext(hWnd);
memDC->Handle = ::CreateCompatibleDC(DC->Handle);

for (i=1; i<=100; i++)
for (j=1; j<=100; j++)
memDC->Pixels[i][j] = TColor(c1[i][j], c2[i][j], c3[i][j]);

TRect Source(0, 0, 100, 100);
TRect Dest(X1, Y2, X1+100, Y2+100);

DC->CopyRect(Dest, memDC, Source);

delete memDC;
delete DC;

BitmapをSelectObjectしないとだめだっけ? > エロい人
141140:2006/04/03(月) 13:48:54
違った。

> memDC->Pixels[i][j] = TColor(c1[i][j], c2[i][j], c3[i][j]);

memDC->Pixels[i][j] = (TColor)RGB(c1[i][j], c2[i][j], c3[i][j]);

こうか。
142デフォルトの名無しさん:2006/04/03(月) 15:03:37
>>140, >>141
早速有難うございました。今晩試してみます。
143139:2006/04/03(月) 23:41:54
>>140, >>141 に示唆して頂いた流儀では未だ成功していませんが,あれこれ
やっているうちに,次のようなことでも目的の叶えられることが分ったので
報告致します。
Graphics::TBitmap *bitmap;
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Left=20;
Image1->Top=20;
Image1->Width=255;
Image1->Height=100;

bitmap=new Graphics::TBitmap();
Image1->Canvas->Pixels[0][0]=clWhite; //註1
bitmap->Assign(Image1->Picture);

for (int i=0; i<=Image1->Width; i++)
for (int j=0; j<=Image1->Height; j++)
bitmap->Canvas->Pixels[i][j] = (TColor)RGB(255,i,i);

Image1->Picture->Assign(bitmap);
Canvas->Draw(Image1->Left,Image1->Top+Image1->Height+20,bitmap);//註2
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
delete bitmap;
}
//---------------------------------------------------------------------------
144139:2006/04/03(月) 23:44:01
(143の続き)
註1
MoveTo, LineTo で線を引くのでも,Ellipse で円を描くのでも,何でも良い
のですが,Image に何かをやっておかないと実行時にエラーになります。
何故でしょう?

註2
画面が bitmap に保存されているから,当然ながら別の場所にも,別の機会に
も再描画することができます。
145デフォルトの名無しさん:2006/04/04(火) 02:22:51
TCanvas::ScanLine を調べるがいい。
あと、そうやって TBitmap 使うのなら、作った直後にサイズと PixelFormat を指定したほうが、精神衛生上良いと俺は思う。

new と delete が対応していない。
146デフォルトの名無しさん:2006/04/04(火) 10:43:29
TBitmap って、DDBとDIBでどれほど違うか教えて欲しい。
プロパティあるおね。
147デフォルトの名無しさん:2006/04/04(火) 11:40:47
プログラム終了時に変数を保存させるためOnClose()に処理を入れたんだが、タスクバーの「閉じる」をするとOnClose()は呼ばれなかった。
OnDestroy()だとメモリ内容は消えてた。どうしたら出来るか教えてくださらぬか?
148デフォルトの名無しさん:2006/04/04(火) 12:24:31
OnCloseQuery
149デフォルトの名無しさん:2006/04/04(火) 14:28:17
>>146
いまどき、DDB 使う必要なんてないから、考えずともよろしい
150146:2006/04/04(火) 15:03:21
>>149
あれ、TBitmapのデフォはDIBなんだと思ってたけど、自分勘違い?
151デフォルトの名無しさん:2006/04/04(火) 15:23:53
うん。デフォルトはDIBだよ
152デフォルトの名無しさん:2006/04/04(火) 15:33:12
デフォはDDBだろ
153デフォルトの名無しさん:2006/04/04(火) 15:37:10
ダメダメブラザーズ
154デフォルトの名無しさん:2006/04/04(火) 15:48:40
ビットマップファイルってのはDIBだっけか?
155デフォルトの名無しさん:2006/04/04(火) 16:13:03
ピザでも食ってろDIB
156デフォルトの名無しさん:2006/04/04(火) 16:35:35
>>150
DIB のままでいいんだから、そこは放置しておけばいいだろ
DDB にする必要なんて無い
157146:2006/04/04(火) 19:12:26
調べたら、デフォはbmDDBですた。

で、BitmapをTJpegImageでJpegしてますが、
bmDDBでたまに「Out of system resources」エラーが出て困ってましたが、
bmDIBだとエラーが出ずに画像は上だけとガクブルな結果になりますた。
158139:2006/04/04(火) 21:54:00
>>145
再度のアドバイス有難うございました。ScanLine を勉強して,次のようにやって
みました。御批評下さい。

Graphics::TBitmap *bitmap;
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
bitmap= new Graphics::TBitmap();
bitmap->Width=255;
bitmap->Height=100;
bitmap->PixelFormat=pf24bit;
Canvas->Draw(10,10,bitmap);
unsigned char* ptr;
short X, Y;
for(Y=0; Y<=bitmap->Height-1; Y++)
{
ptr = (unsigned char*)bitmap->ScanLine[Y];
for (X=0; X<=bitmap->Width-1; X++)
{
ptr[X*3+2]=255; //red
ptr[X*3+1]=X; //green
ptr[X*3]=X; //blue
}
}
Canvas->Draw(300,10,bitmap);
delete bitmap;
}
159デフォルトの名無しさん:2006/04/04(火) 22:21:53
Del厨だけど、ブロック転送にScanLine 使うのはダメダメコードの見本。
TCanvas.CopyRect() で TCanvas 間の任意の矩形領域を任意の場所にコピーできるよ。
160デフォルトの名無しさん:2006/04/04(火) 22:26:17
↑あー、アホレスだった。無視たのむ。
161デフォルトの名無しさん:2006/04/04(火) 22:27:30
あれデフォDDBだっけ orz
162デフォルトの名無しさん:2006/04/04(火) 23:38:42
分からんー。どなたか助けてもらえないか。

C++Builder4+Win2000でNMHTTPを使っています。
定期的にWebページを読み込んで解析するソフトを作っていて、実際には
URL指定でGetしてBodyプロパティに格納されたHTMLを文字列として解析するというイメージ。

ボタンを押すとGetして解析、というように作ると問題ないんですが、Timerを使って例えば
15秒おきにGetしに行った場合、1回目はうまくいって、2回目のGetの時点で「Already Connected」
というエラーが出てしまいます。Getの後にとりあえずDisconnectなどを入れても変わらず。

気合でぐぐってると、どこかで「NMHTTPはHTTP1.0仕様のため、相手からDiconされない限り
接続を切らない」というように取れる記述を見かけました。これが関係あるのかなと思ったり。

他に必要な情報があれば調べて書きます。どなたかヒントいただけないでしょうか!?
163デフォルトの名無しさん:2006/04/05(水) 00:31:32
毎回new/deleteで逃げたような気がする・・・遠い記憶
164デフォルトの名無しさん:2006/04/05(水) 01:09:53
NMxxxは使い物にならないという話はよく聞くが。
バグバグだとか仕様が腐ってるとか。

俺は使ったことないから知らないけど。
165デフォルトの名無しさん:2006/04/05(水) 01:16:52
素直にIndy使えばいいんでぃないの。
166デフォルトの名無しさん:2006/04/05(水) 01:20:06
BCB4にIndyあった??
167デフォルトの名無しさん:2006/04/05(水) 01:22:58
Indy9入れれば、いいんでぃ
168デフォルトの名無しさん:2006/04/05(水) 01:35:55
なるほど、入れればいいんでぃすか
169デフォルトの名無しさん:2006/04/05(水) 02:03:45
>>158
コーディングスタイルを別にすればそれでいんでぃないか?
強いて言えば、PixelFormat の指定を先にしたほうが、再変換の可能性を気にせずに済んで精神衛生上良いかもしらんが。
170デフォルトの名無しさん:2006/04/05(水) 08:39:38
171デフォルトの名無しさん:2006/04/05(水) 19:44:28
C++Builder6とVC++6.0で開発を行っております。
はじめはC++Builderのみで開発を行っていたのですが、唯一C++Builderを使える担当者
が、膨大かつドキュメントなしのプロジェクトを残して失踪しました。
で、私が仕方なく引き継いだのですが、C++Builderの経験がなく、デバッガも不安定で、
なおかつビルトに20分もかかるなど、とてもではありませんが開発できるような状態では
ありませんでした。必死に、GUIに関係しない部分をVC++に移植し、DLLとして分割する
事はできました。
ただひとつ、VC++のデバッガ上でデバッグすると、DLL側の未処理例外を勝手にexe側
でキャッチしてしまい、デバッガでブレークがかからず不具合の特定が非常に面倒です。
これをなんとかしたいのですが、ソース上ではそれらしきものが見つかりませんでした。
これを回避する方法はないでしょうか?
また、「そんなことはない」というような情報でもかまいませんのでご存知でしたら教えて
ください。お願いします。
172デフォルトの名無しさん:2006/04/05(水) 20:12:23
>>171
WinMainのあるプロジェクト名.cpp見たか?
173171:2006/04/05(水) 20:48:33
レスありがとうございます。見てみました。関係ないのかと思いましたが、意外と動きが変わりますね。
try
{
Application->Initialize();
Application->CreateForm(__classid(Hoge), &Hoge);  ←これが30くらい並ぶ
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
}
return 0;
try-catch自体を削ったら、例外が無限ループしてVCが応答しなくなりました。 つづく
174デフォルトの名無しさん:2006/04/05(水) 20:57:22
Application->ShowException(&exception);
の行を削ったら、起動直後に終了してしまいました。

...難しいっす。引き続きお願いします。
175デフォルトの名無しさん:2006/04/05(水) 20:59:02
>>171
手元にC++Builder6(以下BCB)が無いので適当だが
BCBの実行>デバッグとかそのへんのダイアログで
デバッグ時、キャッチする例外を選択できる。
VCL(BCB用ライブラリ)の例外のみBCBでキャッチすることにして
あとは全部スルーするようにしてみては。
あと、WinMain は元に戻した方がいいかと。

つづく
176デフォルトの名無しさん:2006/04/05(水) 21:06:20
コンパイルが遅いのは
・ヘッダーのインクルードが統一されてない
・存在しないパスを検索してる
とかじゃね?

最初のは #hdrstop の上のコードを全ソースで統一する
次のはインクルードパス設定で灰色の奴を削除
あとコンパイル速度を上げる魔法のwコンポーネントもある

がんがれ
177171:2006/04/05(水) 21:59:00
>>175
レスありがとう!
がんばってみるよ!!
本当はVCからデバッグしたいんだけど...。例外の設定はオプションのC++にあったけど
教えてもらった設定は今だ発見できません。もう少し調査します。
コンパイルが遅いのは、単にでかいからだと思ってた。
なにしろ、クラスが300以上もあるし、ファイル数も半端じゃないorz。
でも、時間があったらレスを参考に調整してみます。
お騒がせしました。
178デフォルトの名無しさん:2006/04/05(水) 23:37:13
>>177
メニューのツール>デバッガオプション>OSによる例外
だと思う

魔法のコンポーネント見つけた
ttp://gimite.ddo.jp/bcbqtree/qtreemain.cgi?mode=thread&thread=515
こっからたどってくれ
私の環境だと約半分になる

179デフォルトの名無しさん:2006/04/06(木) 01:47:15
ビルドが遅いのは、F7 押す時に CTRL 押してないとか?
180デフォルトの名無しさん:2006/04/06(木) 08:52:09
いや、BCBのビルドが遅いのは基本。
でも差分ビルドはしてくれるお。
181デフォルトの名無しさん:2006/04/06(木) 08:56:40
>C++Builder6とVC++6.0で開発を行っております。

自分も同じだけど、デバッガに関してはBCBの方が賢くて正確に動作するお。
182171:2006/04/06(木) 09:37:41
>>178
これ入れてみました。
激速ですね。1/5くらいになりました。
メイクも全然許容範囲に入りました(開始するまで異様に時間がかかってた)。
全般的にVC++よりは若干遅いものの全然使えるようになりました。
感謝です!

>>179
それは大丈夫でした。ショートカットキー使うほど慣れてなかったので。
183180:2006/04/06(木) 09:39:46
>>178
すご杉。

自分の環境でも、5倍のスピードは出てる。
体感速度は10倍くらい。。。

184デフォルトの名無しさん:2006/04/06(木) 09:39:55
ビルドに20分って・・・毎回再構築しているっぽいな。
objのタイムスタンプを見れば確認できる訳だが。
ヘッダがおかしいんだろうな。
185デフォルトの名無しさん:2006/04/06(木) 10:11:39
186デフォルトの名無しさん:2006/04/06(木) 10:12:56
>>185
パッケ代のケチり具合

BDS2006 = Delphi2006 = BCB2006 = BCSB2006
187デフォルトの名無しさん:2006/04/06(木) 10:33:27
BDS2006を起動すれば、全部のプロジェクトを扱えるが
BCB2006で起動すれば、 Builderのプロジェクトしか扱えない。
ロードするモジュールが違う。
同じではない。
188デフォルトの名無しさん:2006/04/06(木) 10:41:33
そうなら値段が気になるね。
BDSも格安だったから、それに合わせてBCB単体はさらに激安にしてくれるんかな。


それより、悪痴困るおね。
人数分パッケージ買うんだけど、ソフト専門じゃない人がインストール躊躇しちゃうだろうから、
買ったところで社内のVerうpし難いな。
189デフォルトの名無しさん:2006/04/06(木) 11:19:16
別売りはない。

>それより、悪痴困るおね。

意味が分からん。
190デフォルトの名無しさん:2006/04/06(木) 11:27:58
別売りというか飴はBDS2006じゃなくてDel、BCB、BSCBそれぞれ単独で売ってる。

中身は全部同じだけど。
191171:2006/04/06(木) 12:34:59
>>181
BCB生成exeからVC++生成dllを呼び出すような開発はされていますか?

>>184
すみません。ビルド=再構築の意味で使ってました。
メイクだとそれより全然早く終了しますが、リリースモードとデバッグモードの切り替え時に
毎回再構築がかかるので難儀しておりました。
192デフォルトの名無しさん:2006/04/06(木) 12:48:18
>BCB生成exeからVC++生成dllを呼び出すような開発はされていますか?

してないです。
なぜかと言うと、DLLやActiveXは不安定だし普通にクラス派生出来ないし、EXE単体マンセーです。

>リリースモードとデバッグモードの切り替え時に

自分の場合、リリースもデバッグコンパイル。
別に何も困る事ないお。
193デフォルトの名無しさん:2006/04/06(木) 12:57:46
>>192
デバッグだと最適化無効だから、実行速度が相当違う場合があるだろ。
ってか、デバッグのままは無茶。
194デフォルトの名無しさん:2006/04/06(木) 13:02:16
>>193
C++だから実行速度全然変わらないよ。
一回やってみ?

それがどうしても嫌なら、出荷時だけEXEをUPXMaskするとサイズは同じ。
195デフォルトの名無しさん:2006/04/06(木) 13:07:00
すっげー頭悪そうw
196デフォルトの名無しさん:2006/04/06(木) 13:17:03
>>195
いや、本当に問題無いってば。
自分の場合、EXEが5メガになってるけどそれよりアプリが使うメモリのんが巨大。
インストーラにinno setup使ってるからインストールも数秒。

BCBにデバッグコンパイル、これに魔法のコンポーネントで最強。

C++からVCLの派生ライブラリまで使いまくりの、さらに派生しまくりで一瞬で仕事が終る。
197196:2006/04/06(木) 13:19:12
だって、ActiveXのオーバーヘッドが無いんだから、単体Exe最強。
198デフォルトの名無しさん:2006/04/06(木) 13:56:16
頭悪杉花粉症
199デフォルトの名無しさん:2006/04/06(木) 14:17:44
> C++だから実行速度全然変わらないよ。

なんでだよw
C++ならインライン展開あるんだから、"C++だからこそ"速くなる可能性があるだろ。
うちのアプリ結構変わるぞ。
200デフォルトの名無しさん:2006/04/06(木) 14:25:04
デバッグビルドだとソースファイル名とか全部バイナリに入っちゃうから
シャイなぼくちんはいや。
201デフォルトの名無しさん:2006/04/06(木) 14:37:03
>うちのアプリ結構変わるぞ。

気持ちの問題。気のせい。
一回デバッグコンパイルを渡してみ。
202デフォルトの名無しさん:2006/04/06(木) 14:38:07
BuilderってVC++と違ってデバッグ情報は別ファイルだろ。
バイナリにデバッグ情報は入らないとちゃうのか?
まあでも、実行速度は相当遅くなるだろね。
203デフォルトの名無しさん:2006/04/06(木) 14:41:47
#ifdef DEBUG
のチェックコードいれたりしないんだなぁ・・・
204デフォルトの名無しさん:2006/04/06(木) 14:53:45
>>201
気のせいなわけないっての。計るんだから。
お前がよっぽど速度を必要としない処理しか書いてないだけだろ。
205デフォルトの名無しさん:2006/04/06(木) 14:56:43
>気のせいなわけないっての。計るんだから。

じゃ、計ったのは何の処理化書いてみ?
206デフォルトの名無しさん:2006/04/06(木) 14:57:45
>まあでも、実行速度は相当遅くなるだろね。

メモリに影響有ってもスピードは変わらないお。

>#ifdef DEBUG のチェックコードいれたりしないんだなぁ・・・

今の流行はifdefを使わない。
207デフォルトの名無しさん:2006/04/06(木) 14:58:09
>>202
ソースファイル名とか、assert使ってればその部分のコードとかいろいろ入るよ
208デフォルトの名無しさん:2006/04/06(木) 14:59:48
>>205
3Dオブジェクトのピック

>>206
いや、だからさ、インライン展開とか最適化とか理解できないわけ?
209デフォルトの名無しさん:2006/04/06(木) 15:05:46
>>188
> それより、悪痴困るおね。

アクティベーションのことを言っているのだと思うが、
匿名掲示板とはいえ、違法行為を示唆する発言はまずいんじゃないの?
210デフォルトの名無しさん:2006/04/06(木) 15:11:28
>>209
その次の文章読んでみ?
211デフォルトの名無しさん:2006/04/06(木) 15:13:39
>いや、だからさ、インライン展開とか最適化とか理解できないわけ?

インライン使ってまつ。

おまいわ最適化理解出来て無い、というだけに言い回し嫌らしいでつね。
212デフォルトの名無しさん:2006/04/06(木) 15:14:05
手持ちのハッシュしながら検索するプログラムで実験した。
デバッグ最適化なし 503秒
リリースできるだけ速く(-O2) 337秒
当たり前の結果だな。
213デフォルトの名無しさん:2006/04/06(木) 15:19:30
>>211
ストレートだと思うがw
もっとストレートに言えばお前頭悪すぎ。変わらないわけがない。
214デフォルトの名無しさん:2006/04/06(木) 15:21:58
デバッグ・リリースとは関係ないけど、
実行時型情報を使うクラスだとクラス名も実行ファイルに入っちゃうから、
UNKOとか名づけるのはオススメできない。
215デフォルトの名無しさん:2006/04/06(木) 15:22:25
>自分の場合、リリースもデバッグコンパイル。
>別に何も困る事ないお。

このお馬&鹿さんっぷりは間違いなくド素人なんだから、
いくら言っても理解できないんじゃないかなぁ・・・
216デフォルトの名無しさん:2006/04/06(木) 15:25:26
>>213
>ストレートだと思うがw
>もっとストレートに言えばお前頭悪すぎ。変わらないわけがない。

理由を書かずに、
>インライン展開とか最適化とか理解できないわけ?
と2つを並べて理由になってるフリをするオマイ汚杉。
説明できない無能。

>>215
>このお馬&鹿さんっぷりは間違いなくド素人なんだから、
>いくら言っても理解できないんじゃないかなぁ・・・

説明全く無しで、
>いくら言っても理解できないんじゃないかなぁ・・・
というやつが生きてて意味あるの?
217デフォルトの名無しさん:2006/04/06(木) 15:28:17
もはや屁理屈しか言わない子供だな
218デフォルトの名無しさん:2006/04/06(木) 15:28:23
>3Dオブジェクトのピック

先ずはだ。
これでどれだけ早くなったの?
単体時間とユーザー側時間と両方書け。
書けなきゃ、この例却下。

と言いながら、自分のGeometryライブラリもinlineの塊。
219デフォルトの名無しさん:2006/04/06(木) 15:28:26
つまり、最適化の意味が分からんということか?
220デフォルトの名無しさん:2006/04/06(木) 15:30:27
217=理屈無し

217がこのスレに存在して意味あるの?


>>219
>つまり、最適化の意味が分からんということか?

最適化の意味ある無いの論争なのが分かってるの?
分かって無いならこのスレ出てけ。
221デフォルトの名無しさん:2006/04/06(木) 15:34:27
当り散らすのはやめろ
222デフォルトの名無しさん:2006/04/06(木) 15:36:40
当り散らしてないお。

結局、こう。

・BCBでポトペタ作成にデバッグコンパイル、これに魔法のコンポーネントで最強。
・C++からVCLの派生ライブラリまで使いまくりの、さらに派生しまくりで一瞬で仕事が終る。

Exeが大きくなろうが誤差範囲。
C++はJavaと違ってコードセグメントがnewされるわけでなし。
223デフォルトの名無しさん:2006/04/06(木) 15:43:48
インライン展開しておきながら、なぜあえてデバッグコンパイルなのか理解できない
224デフォルトの名無しさん:2006/04/06(木) 15:45:24
そんなにベンチマークが好きなら、VC++やVC丼を使わずなぜあえてBCBなのか理解できない
225デフォルトの名無しさん:2006/04/06(木) 15:48:46
予想通りそっち持っていったか。
デバッグビルドとリリースビルドで「C++だから実行速度全然変わらないよ。 」
なんてアホ丸出しレスしたから、突っ込んでただけだ。VCのような速度が欲しいわけじゃない。
226デフォルトの名無しさん:2006/04/06(木) 15:50:20
>>225
苦しい言い訳乙。

1行目と3行目と読んで可哀相で苦しくなったお。
227デフォルトの名無しさん:2006/04/06(木) 15:51:50
>>225
だって、3行目を肯定したら>>222が全肯定されちゃうお。
228デフォルトの名無しさん:2006/04/06(木) 15:52:26
>>226
何に対するいい訳だよ。
>>224のほうが間違いを突っ込まれて話をそらしてるんじゃねーか。
229デフォルトの名無しさん:2006/04/06(木) 15:54:36
222の内容をこれを強化すれば勝ちだな。(勝利宣言)

・BCBでポトペタ作成にデバッグコンパイル、これに魔法のコンポーネントで最強。
・C++からVCLの派生ライブラリまで使いまくりの、さらに派生しまくりで一瞬で仕事が終る。

Exeが大きくなろうが誤差範囲。
C++はJavaと違ってコードセグメントがnewされるわけでなし。

V$のベンチマークに強いだけの部分最適化よりも重要なことがある。

230デフォルトの名無しさん:2006/04/06(木) 15:56:46
はいはい。
勝ちでいいよ。
231デフォルトの名無しさん:2006/04/06(木) 15:56:50
>>227
なんでだよ。
「速度が変わらない」という間違いを「そうじゃねー」と正してるだけなのに、>>222の何を肯定してるんだよ。
232デフォルトの名無しさん:2006/04/06(木) 16:02:38
>>231
>「速度が変わらない」という間違いを「そうじゃねー」と正してるだけなのに

正すってんなら説明が要る。
先ずは、>>218に答えなさい。
233デフォルトの名無しさん:2006/04/06(木) 16:04:52
>>232
単体時間とユーザー側時間てなんだよ。初めて聞いたよ。
234デフォルトの名無しさん:2006/04/06(木) 16:05:48
>>233
自分が今作った言葉さ。
短い時間で伝えるために。

さ、回答しる!
235デフォルトの名無しさん:2006/04/06(木) 16:07:41
くだすれC++Builderだれかたてて
236デフォルトの名無しさん:2006/04/06(木) 16:09:07
>>234
伝わってねーよ。2つの時間が何をさすかわかんねっての。
237デフォルトの名無しさん:2006/04/06(木) 16:09:36
>>236
オマイもう帰って良いよ
238デフォルトの名無しさん:2006/04/06(木) 16:10:43
なんで>>234が偉そうなんだ?
間違い垂れ流しの上、謙虚な姿勢のかけらもない奴にこれ以上教えるのは無意味なじゃいの?
239デフォルトの名無しさん:2006/04/06(木) 16:14:55
はいはい、次の話題。
240デフォルトの名無しさん:2006/04/06(木) 16:22:19
10まだか?
241デフォルトの名無しさん:2006/04/06(木) 16:23:18
(;ω;)ウッ…
242デフォルトの名無しさん:2006/04/06(木) 16:35:10
243デフォルトの名無しさん:2006/04/06(木) 16:38:27
流量的にくだすれなしでここ一本でも十分な気もしないでもない
244デフォルトの名無しさん:2006/04/06(木) 16:44:58
ここじゃ答えてくれねーからだろぼけが
245デフォルトの名無しさん:2006/04/06(木) 17:13:15
BCB10を使ってます。
typedef struct {
 double X;     //X座標
 double Y;     //Y座標
} SCoord ;      //座標構造体
vector<SCoord*> CoordsList;   //座標構造体へのポインタ列を格納するベクタ
srand((unsigned)time( NULL ));  //乱数の初期化
for (unsigned int i=0; i<10; i++){
 SCoord* pTempCoord = new SCoord;
 pTempCoord->X = (double)rand();  //乱数で座標を生成、代入
 pTempCoord->Y = (double)rand();
 CoordsList.push_back(pTempCoord);
}    //座標構造体のインスタンスを10個作ってポインタを格納
 :
中略
 :
//使用済み座標構造体のインスタンスをメモリから削除するつもり
for (unsigned int i = 0; i < CoordsList.size(); i++){
 delete (SCoord*)CoordsList[i];
}

ここまで実行させた後、ソースファイルControls.pasが見つかりません。という
ダイアログが開き、パスを入力するようになりました。デバッガ上でないと
プログラムが目的としている全ての処理をちゃんと終わった後で異常終了します。
最後の構造体の削除のforループをコメントアウトすると、メモリリークを起こす
と思いますが、正常に終了します。
Controls.pasって多分C++BuilderのGUI関連のライブラリのソースで、普通に
インストールすれば、ユーザーが知らなくても処理に必要なら処理系は知ってる
はずと思うのですが...だいいち、データ領域はSTLで作っていますから
VCLに依存していない部分です。
どうしたら良いでしょう?
246デフォルトの名無しさん:2006/04/06(木) 17:27:49
むしろBCB10をください
247デフォルトの名無しさん:2006/04/06(木) 17:29:48
>>245
そんだけのコードだと別になんともないけどね。
中略の部分とか、他の部分に問題があるのでは?CodeGuardは使ってみた?
248デフォルトの名無しさん:2006/04/06(木) 17:36:24
>>245
Controls.pasのパスを指定すると後は動くの?
249デフォルトの名無しさん:2006/04/06(木) 17:37:10
>>246
BCB6持ってればニーキュッパでしょ、ちょっと倹約すればアップデート
できるでしょう。
250デフォルトの名無しさん:2006/04/06(木) 17:40:21
>>247
CodeGuard?
すみません、マニュアルはヘルプだけなのでしょうか?IDEの使い方は
どこで調べたら良いでしょう?(^o^);アセ
251デフォルトの名無しさん:2006/04/06(木) 17:44:13
>>249
あれ?10ってでてるの?俺馬鹿?
252デフォルトの名無しさん:2006/04/06(木) 17:48:31
>>250
メニューの「プロジェクト」→「オプション」→「C++コンパイラ」→
「CodeGuardコンパイルサポート」→「すべてのCodeguardオプションを有効にする」にチェックを入れてリビルド。

実行時間は遅くなるけど、解放忘れとか二重解放とかチェックしてくれる。
253デフォルトの名無しさん:2006/04/06(木) 17:52:03
>>248
実は、Controls.pasがどこにあるかわからないのですWindowsのファイルや
フォルダの検索で探してみたのですが...
254デフォルトの名無しさん:2006/04/06(木) 17:54:12
>>251
Developper Studioに含まれています。インストール後アップデートパッチを
当てると、正式版になります。
255デフォルトの名無しさん:2006/04/06(木) 17:57:08
>>245 >>253
すみません...見つかりました。やってみます。
256デフォルトの名無しさん:2006/04/06(木) 18:03:35
>>252
早速やってみます。
257デフォルトの名無しさん:2006/04/06(木) 18:24:41
BCB10にまだ重大なバグがあるような気がしてきた...
258デフォルトの名無しさん:2006/04/06(木) 18:39:36
>>254
嗚呼アレって10だったのか・・・
259デフォルトの名無しさん:2006/04/06(木) 20:03:03
>>258
Delphi6 > Delphi7 > Delphi8 > Delphi2005(9) > BDS2006(10)
260デフォルトの名無しさん:2006/04/06(木) 20:08:50
Builderの話をしているのに・・・
261デフォルトの名無しさん:2006/04/06(木) 20:15:55
BCBもバージョン情報で10なんだから10なんだろ
262デフォルトの名無しさん:2006/04/06(木) 20:59:44
作成したソフトの多重実行(?)の防ぎ方がさっぱり分かりません。
どなたか、多重実行の禁止方法を教えてください。
よろしくお願いします。
ちなみにBCB5を使用しております。
263デフォルトの名無しさん:2006/04/06(木) 21:03:09
264デフォルトの名無しさん:2006/04/06(木) 21:37:33
Canvas->Brush->Style = bsClear;

自作コンポーネントのPaintで、上の指定をして描画してるのですが有効になりません。
それ以外は問題なく動いているのですが・・・。
何か制限のようなものがあるのでしょうか?
265デフォルトの名無しさん:2006/04/06(木) 22:22:37
>>264
有効になりませんじゃよくわからんぜ。
そのあと何か描画したんだろ?どういう描画して期待通りにならなかったのか書いてくれないと。
266デフォルトの名無しさん:2006/04/07(金) 00:58:10
SetBkMode()使わないと利かないことがあるね。
TFont、TBrush、TPenはリソースの管理にそれぞれ癖があるから注意が必要。
267デフォルトの名無しさん:2006/04/07(金) 01:57:45
くだすれC++Builder(超初心者用)その2
http://pc8.2ch.net/test/read.cgi/tech/1144308804/
268262:2006/04/10(月) 19:31:35
>>263
理解しました。
ありがとうございました。
269デフォルトの名無しさん:2006/04/12(水) 11:29:20
GLDPNG
http://www6.airnet.ne.jp/~sone_san/delphi/cgi-bin/ssi.cgi?graphmul.html#GM0040

コレを使っているんですが再構築するたびに Gldstream.hpp の26行目
typedef TBitmap TGLDBmp;
;
の部分を

typedef Graphics::TBitmap TGLDBmp;
;
に書き換えなくてはいけないのでメンドイです。対策とかあったら教えてください。
270デフォルトの名無しさん:2006/04/12(水) 12:26:16
>>269
再構築のたびに.hppが元に戻るって事は、プロジェクトに.pas追加してるの?
一度.pasソースから.objを作ったら、それをリンク(#pragma link "〜.obj")してやれば、プロジェクトには.pasは要らないよ。
そうすれば.hppを書き換えても元に戻らない。

あとはそもそも名前が衝突してる原因であるWindows.hppの
typedef tagBITMAP TBitmap;
をコメントアウトするって手もある。tagBITMAPにTBitmapなんて別名はいらんでしょって事で俺はそうしてる。
271デフォルトの名無しさん:2006/04/12(水) 14:00:03
10ってどお?
272デフォルトの名無しさん:2006/04/13(木) 00:11:42
他(外部)のWindowsプログラムのツールバーの「ファイル」項目や「表示」項目を
クリックしたり、リストビュー項目の中を選択したりする制御プログラムを作ろうとしております。

ウィンドウハンドルを取得してから、SendMessageを使用して、起動や最小化等できることは分かりました。

//最小化
SendMessage(hWnd,WM_SYSCOMMAND,SC_MINIMIZE,0);
//最大化
SendMessage(hWnd,WM_SYSCOMMAND,SC_MAXIMIZE,0);
//元の大きさに戻す
SendMessage(hWnd,WM_SYSCOMMAND,SC_RESTORE,0);
//ウインドウの移動
MoveWindow(hWnd,X,Y,Width,Height,true);

リストビューの中を選択したり、クリックする方法分かりますでしょうか。
ググッたところ、情報見つからなかったので、質問させて頂きました
273272:2006/04/13(木) 00:20:50
因みに、制御しようとしているプログラムは「Yahooメッセンジャー」でして、
メッセンジャーのメッセージアーカイブ(メッセログ)を開き、保存したいメッセージを選択し、
「メッセージ」→「保存」を選択するルーチンで毎日のメッセージを保存していこうとしています。

そのままメッセージアーカイブを使えば普通に見れますが、検索や特殊なことができず不便なので
一度テキストファイルにログを落とし、それを違うプログラムで読み直そうと考えています。

元々のメッセンジャーが残しているログは厄介なことにバイナリでして、
バイナリを解析しきれず(解析方法もぐぐりましたが)、断念の為
メッセンジャのメッセージアーカイブ経由でテキストに毎日自動で落としていこうと思いました。
274272:2006/04/13(木) 00:54:45
http://pasokoma.jp/bbs9/lg271191.html
こちらで紹介のツールはバグなのか使用不可でした。。。

また↓こちらのツールも駄目でした。。。(正常に読み込まれず文字化け)
http://www.geocities.co.jp/SiliconValley/1715/ymaviewer/index.html
275デフォルトの名無しさん:2006/04/13(木) 02:25:15
メニューを押すのは大雑把にだけどGetMenu, GetSubMenu, GetMenuItemIDで目的のメニュー項目のIDを探して、
メッセージアーカイブウィンドウにWM_COMMANDを送る。

他のプロセスのリストビューの項目の選択は↓の下のほう
http://siren.poke1.jp/cbuilder/033.html

まあ割と面倒なんで、keybd_eventを並べてキー操作を自動化するとか、
UWSCみたいな自動化ソフト使ったほうが簡単で早いと思うけどね。
276272:2006/04/13(木) 08:07:36
おはようございます!
ありがとうございます!!>>275さん

早速確認してみます、
すぐ取り掛かりたいですが。。。仕事なので帰ったらすぐ試したいです。
(帰るのはPM12頃なので、また何かありましたらよろしくお願いします。)
277147:2006/04/13(木) 10:36:48
>>148
すまん。年寄りなので、わすれておったわい。
ありがとう。
278245:2006/04/13(木) 11:40:31
BCB10のバグじゃなく、私のミスでした。
for (unsigned int i = 0; i < CoordsList.size(); i++){
 delete (SCoord*)CoordsList[i];
}
中略の中で既に削除した構造体のインスタンスを二重にdeleteしていました。
ハズカシイ...
279デフォルトの名無しさん:2006/04/13(木) 11:46:15
>>271
HTMLヘルプとソースとデザイナがタブで切り替えて使えるなど、操作性が
格段に向上している。エディタの機能がしょぼいのは相変わらず。
外部エディタで修正してセーブすると、ソースに変更が加えられたことを
認識して読み直すか聞いてくる点は6と同じ。私はコーディングには秀丸を
使ってます。
280デフォルトの名無しさん:2006/04/13(木) 11:58:34
BCB10が起動時画面いっぱいになって起動したり、デバッガモードになる際に
画面いっぱいになるの止めさせたいけど方法がわかる方教えてくださいマセマセ...
281デフォルトの名無しさん:2006/04/13(木) 12:04:21
ええっ!?
Indy 10ってそんなことになってるの??????
282デフォルトの名無しさん:2006/04/13(木) 13:41:12
BCB10ってどお?
283269:2006/04/13(木) 14:19:55
>>270
レス遅くなりましたが詳しく教えていただいてありがとうございました。
前者の方法で望みの結果が得られました。
284デフォルトの名無しさん:2006/04/13(木) 17:44:24
>>282

つ279
285デフォルトの名無しさん:2006/04/13(木) 18:01:39
>>284
おっとこれは失礼。

>>279
感謝。
>外部エディタで修正してセーブすると、ソースに変更が加えられたことを
>認識して読み直すか聞いてくる点は6と同じ。
これって1からありません?
5から実行ファイルのサイズが3の1.5倍くらいに膨れ上がってますが(同じソースをコンパイルして)
10では更に肥大化してますか?
あと、TComboBoxでChangingイベントは追加されてますか?
286デフォルトの名無しさん:2006/04/13(木) 18:26:07
気になるんなら某のサイトに体験版あるから、使うといいんでないか。日本語版もあるし。
ちなみにTComboBoxにChangingイベントはなかった。
287デフォルトの名無しさん:2006/04/13(木) 18:26:53
BCB5でListViewをvsReportにして表示
各Columnの幅を内容に合わせて最適な幅に調整しようと
TListColumnのWidthにColumnTextWidthを入れてみたのですが・・・
どうも正しいサイズにならないです(狭くなってしまう)

せめて自動調整された後の値が読み出しできればマージン分を付加して
再設定出来るのですが読み出ししてもColumnTextWidthの−1しか帰ってきませんでした
これはこんなものなんでしょうか?
288デフォルトの名無しさん:2006/04/13(木) 18:43:19
BCB6でやったけど特に狭くはなってないようだけどね。
自動調整時のカラムの幅知りたいなら↓
ListView1->Perform(LVM_GETCOLUMNWIDTH, カラムのインデックス, 0);
289デフォルトの名無しさん:2006/04/13(木) 18:50:19
>>288 ありがとうございます、一歩前進しました
ListView_GetColumnWidthも試してたんですがなんか全部同じ値が帰ってくる・・・・はて?
サンプルのコードで思った値に近い数値が取れましたのでこちらの方を使用して進めてみます
290デフォルトの名無しさん:2006/04/14(金) 10:24:11
>>285
私が実際に使ったのは2から、秀丸と併用を始めたのは3から。
実行ファイルのサイズは6と同等。裏にいるコンパイラは多分BC5.5.
ライブラリにも違いは殆ど感じられない。

ドトネトは使う予定ないから、Winネイティブだけ。2005は使った経験なし。
細切れのウィンドウが画面に散らばる6の雰囲気から1個にドックした大きな
一つの区割りウィンドウになった。HTMLヘルプのリンクをクリックすると
結局別のヘルプブラウザが起動する。このためと、秀丸を併用するため、
2006が全画面に広がっていると、操作しにくいので、右と下を少し縮めて
使うが、デバッグモードに入ると自動的に全画面サイズに戻ってしまう。
ユーザーが設定したレイアウトを保存して、次回から常にその場所と大きさで
起動したいが、方法がわからない。


291デフォルトの名無しさん:2006/04/14(金) 11:16:52
撒き餌か
292デフォルトの名無しさん:2006/04/14(金) 11:43:44
>>290が何も調べようとしていないことはよくわかった。
293デフォルトの名無しさん:2006/04/14(金) 16:36:38
>>292
いや、もう解決済みだ。
294デフォルトの名無しさん:2006/04/14(金) 17:58:25
>>292
とりあえず謝れ!
295デフォルトの名無しさん:2006/04/14(金) 19:15:05
>>290
想像でウソ書くのはヤメレ
296デフォルトの名無しさん:2006/04/14(金) 19:34:12
ちょっとよくわからない現象に悩んでいます
BCB5でTListViewをvsReportに設定
CustomDrawSubItemで決められた場所のみ色を付ける処理をしているのですが何故か白にだけ戻りません
色付けする場所は縦方向なのでColumnのTagに値を入れて判定しています(2の時色つけ)

TCanvas *pCanvas=((TListView *)Sender)->Canvas;
if (((TListView *)Sender)->Column[SubItem]->Tag == 2){
pCanvas->Brush->Color = TColor(RGB(150,150,150));
}else{
pCanvas->Brush->Color = clWhite;
}
一度色を付けた行から後は全部その色になってしまいます
clWhiteの所をclWindowにしてもTColor(RGB(255,255,255))にしても戻りません
ですがTColor(RGB(254,255,255))などとほかの色を付ければちゃんとその色になります
そもそも何か根本的にやり方を間違ってるのでしょうか?
297デフォルトの名無しさん:2006/04/14(金) 19:36:00
>>290
2って言ったか?
298デフォルトの名無しさん:2006/04/14(金) 21:19:20
Builder 10.0(BDS2006)は
Borland C++ 5.81 for Win32 Copyright (c) 1993, 2005 Borland
299デフォルトの名無しさん:2006/04/15(土) 00:55:36
いれぐいだなおい
300デフォルトの名無しさん:2006/04/15(土) 09:55:56
5.81 はすごい高速化されているよ。
301デフォルトの名無しさん:2006/04/16(日) 14:01:11
これ入れたら複数のスレッドでコンパイルするようになるみたい
http://www.jomitech.com/#downloads

デュアルコアの環境でコンパイルしたら、3倍以上速くなった。凄い。
302デフォルトの名無しさん:2006/04/16(日) 14:09:59
>>301
シェアウェアじゃんヴォケ
303デフォルトの名無しさん:2006/04/16(日) 14:13:59
ここはフリーウェア紹介所かい?
貧乏人の反応はよく分からん
304デフォルトの名無しさん:2006/04/16(日) 14:19:26
まぁ許してやれ
何かとすぐ限界にぶち当たる閉塞的な人生送って
苛々してるんでしょ
305デフォルトの名無しさん:2006/04/16(日) 14:26:45
うんむ。
まあでもIDE Compiler Speed Improvementとといい、これといい
BCBにデフォで実装されるぐらい某にも努力して欲しい気も汁
306デフォルトの名無しさん:2006/04/16(日) 17:21:54
正直、コンパイル速度上げるならHDDを高速化した方がよい。
307デフォルトの名無しさん:2006/04/16(日) 17:49:12
今時のHDDだと、容量と外部転送速度ばっか上がって、内部転送速度は頭打ち気味だから、
新しいの買っても速度アップは望めないでしょ。

てかRAMディスク上でコンパイルしてもたいして速度変わんないよね。
ディスクアクセスの代わりにメモリ帯域食うのかもしれないけど。
今時のだともうHDDの速度は十分で、あとはCPUとコンパイラに依ると思う。
308デフォルトの名無しさん:2006/04/16(日) 23:17:07
でもシークの速いHDDはやっぱり違うよ。
ランダムアクセス主体の場合は、転送時間より待ち時間のほうがずっと長いから。
使ったこと無いとわからないかもしれないけど。

まあ、コンパイルへの影響は少ないかもね。
309デフォルトの名無しさん:2006/04/16(日) 23:33:03
> でもシークの速いHDDはやっぱり違うよ。
> コンパイルへの影響は少ないかもね。

どっちやねん
310デフォルトの名無しさん:2006/04/17(月) 00:41:53
いや、

一般的なPCの用途においては
HDDの内部転送速度の影響よりもシーク速度や回転速度の影響のほうが大きい

で、

コンパイルという用途においては
影響は少ない可能性もある

というだけ。


(OSにキャッシュされる前の)初回のヘッダ読み込みなんかには影響大だけど
作業ファイルの書き出しは、OSの書き込みキャッシュが効くから
HDD速度の影響は少ないかもしれないという話。
311デフォルトの名無しさん:2006/04/17(月) 01:16:11
>>305に同意
312272:2006/04/17(月) 03:23:17
275さん

ご無沙汰しております、先日は、GetMenuやリストビューの選択方法教えていただきありがとうございました。
現在、おかげさまで、メッセージアーカイブの起動、アーカイブの保存のところまで完了しております (^^)

この前は、Builderを使ってどうにか作る方法のことばかり考えており、
下の方のレスを見落としておりました^^; 今日もう一度読み替えして気が付きましたが、
>まあ割と面倒なんで、keybd_eventを並べてキー操作を自動化するとか、
>UWSCみたいな自動化ソフト使ったほうが簡単で早いと思うけどね。

確かに、やってみると意外と大変でした^^; 現在2つの問題点で躓いている状態です。。。
1.リストビューを選択する方法でURLをこちらの教えていただきました
http://siren.poke1.jp/cbuilder/033.html
リストビューにはどのログを保存するか選択できるようにいくつか日付で並んでいるのですが、
どの部分の関数で選択しているのかが、良く分からずとまっております。。。
ただ、こちらはもう少し自分で色々試してみてたいと思います(この辺怪しいですし:char *Text=(char*)&Item[1];)

問題は、
アーカイブ保存時の今日の日付のログだけを保存したいので、リストビューに記述してある、
日付を取得して処理を行いたいのですが、その方法を探しております。
実際のメニュー状態を参考までに載せますと:http://www.geocities.jp/kuraisisuhuddo/image03.bmp
で、4月16日のログは今回2つあるので、異なる名前にして保存する為、2回保存します。
日によって、ログの数は変わっているので、その日のログだけを取得する為に日付をチェックします。

最後の悩みとしまして、保存ダイヤログ表示まではできましたが、保存するときのファイル名の指定と、
保存ボタンのクリックです。
もし、よろしければアドバイス頂けると幸いです。

313デフォルトの名無しさん:2006/04/17(月) 22:04:36
ちょっと試してみたら、他のいろんなアプリのリストビューの項目は読めるんだけど、
メッセージアーカイブのは読めなかった。自前で描画してんのかな。
314デフォルトの名無しさん:2006/04/17(月) 23:50:23
Borland日本支社の終了に伴い、BCB6のC++BuilderDirectの表示が
おかしくなってしまったのですが、皆さんはどうしてらっしゃいますか?
315デフォルトの名無しさん:2006/04/17(月) 23:52:57
煽りにマジレスすると、元々Offで運用しているんで見てない。
ていうか、実際にああいうの使っている奴いるの?
316272:2006/04/17(月) 23:54:24
>>313さん

レスありがとうございます、特殊ですよね。。。
私はアーカイブを経由してログを出力させることが目的なのですが(アーカイブ経由でないとバイナリなのでログの取得が困難な為)
なかなか難しいですね。。。
出力後は、C++でもPHPでWEBアプリに出力することもできると思っていましたが、
厳しいかな。。。
317デフォルトの名無しさん:2006/04/19(水) 16:19:13
>>312
> 保存ダイヤログ表示

ダイヤログ…
318デフォルトの名無しさん:2006/04/19(水) 17:04:13
>>317
うざいしんでかす
319デフォルトの名無しさん:2006/04/19(水) 18:59:29
>>318
日本語でおk
320272:2006/04/19(水) 23:59:30
312書き込み、間違ってましたね、訂正します。

誤:ダイヤログ
正:ダイアログ

しかしながら、いまだに解決しないので、UWSCで、定期的に複数保存して、
保存したログはテキストなので、それをプログラムで読み込んで同じログがあれば省いて
表示や検索するような仕組みにしようかと考えています。
321デフォルトの名無しさん:2006/04/25(火) 12:49:06
zlibって複数ファイルをまとめてひとつに圧縮するって出来るんでしょうか?
もし出来るのでしたらどこかにうまい具合のサンプルソースなど落ちてないでしょうか?<(__)>
322デフォルトの名無しさん:2006/04/25(火) 13:54:35
gzip形式にすりゃ良いじゃん
323デフォルトの名無しさん:2006/04/25(火) 14:23:33
嫌です
324321:2006/04/25(火) 14:59:59
gzip形式って「複数ファイルをまとめてひとつに」出来ないのでは?
http://e-words.jp/w/GZIP.html
325デフォルトの名無しさん:2006/04/25(火) 16:45:08
アーカイブと圧縮は別なんで、出来ないでしょ。
326デフォルトの名無しさん:2006/04/25(火) 19:10:38
tarにすりゃいいじゃん
327デフォルトの名無しさん:2006/04/26(水) 08:17:56
圧縮はともかく自前のアーカイブなら簡単に作れるやん。
ちなみにゲームとかで扱う場合は圧縮したデータをアーカイブ化するのが普通。
(アーカイブ全体を展開せずにファイル単位で展開できるから)
328デフォルトの名無しさん:2006/04/27(木) 02:23:19
仕事でCGIを作成しているのですが非常に困ってます。
BCB6.0で作ったCGI実行形式のプログラムがWindows2003ServerのIISで動きません。
どうもntdll.dllで外部例外が発生しているようです。
WindowsXPのIISでは動くし、何もしないプログラムでも発生するので、
builderかIISの問題ではないかと疑っているのですが…
何か情報を持っている人はいませんか?
329デフォルトの名無しさん:2006/04/27(木) 08:09:40
CGIの中でBDEとか使ってますか?

>何もしないプログラムでも発生
であれば、ロギング処理などを入れるとかして、問題の発生場所が特定できませんか?
ひょっとしてmain関数さえも呼ばれないのですか?
330デフォルトの名無しさん:2006/04/27(木) 08:38:28
CGI実行ユーザーの権限が無いんだと思うお。
331328:2006/04/27(木) 21:00:32
>>329 BDEは使ってないです。
>>330 権限はあるお。

いろいろためしてみたのですが、
BCBのウィザードを使用せず、入出力を自分で書くと例外は発生しませんでした。
どうやらBCB6.0のTWebModuleが怪しいです(BCB3.0だと大丈夫だった)。
複数のWindows2003Serverで再現したので普遍的な問題だと思います。
プログラム大幅に書き直しですorz
332デフォルトの名無しさん:2006/04/27(木) 22:18:05
TextRectが多数回呼び出しでちらつくんですが、もしかしてフラッシュアウトしてかれ文字列書いてるんですか?
333デフォルトの名無しさん:2006/04/27(木) 22:27:54
いったんBrushで塗り潰すんでないか
334デフォルトの名無しさん:2006/04/28(金) 03:23:29
じゃあTextOutの方が高速ですかね
335デフォルトの名無しさん:2006/04/28(金) 09:02:26
>>334
速度に関しては実測するしかない
336デフォルトの名無しさん:2006/04/30(日) 19:28:23
Borland C++ 6 Personal (Service Pack #4) で遊んでいますが,オブジェクト
インスペクターで Button のフォント色が変更できません。プログラムの
TForm1::TForm1(TComponent* Owner) : TForm(Owner) の中に
Button2->Font->Color=clRed;
などと書いても駄目のようです。(因みに Label や GroupBox 等の文字色の変更
はできます。)御存知の方,御教授下されば幸甚です。
337デフォルトの名無しさん:2006/04/30(日) 19:31:40
>>336
失礼しました。ソフトウェア名は Borland C++ Builder 6 です。
338デフォルトの名無しさん:2006/04/30(日) 19:57:36
>>336
OwnerDrawするしかないっぽい。
339デフォルトの名無しさん:2006/04/30(日) 21:35:28
GetWindowLong
340デフォルトの名無しさん:2006/05/01(月) 00:32:26
>>336
TSpeedButton にする。
341デフォルトの名無しさん:2006/05/01(月) 06:32:45
>>338, >>339, >>340
Many thanks (336).
342デフォルトの名無しさん:2006/05/01(月) 12:58:12
>>336 です。別の初歩的な質問です。
自作のアプリケーションにデフォルトとは異ったアイコンを付けようと思って,
試しに [プロジェクト|オプション|アプリケーション] に CBuilder6 の中
から適当に採ってきたアイコンを配して再構築してみたのですが,デフォルト
のアイコンのままで変ってくれません。何か他の設定が必要でしょうか?
簡単なことと思いますが,お教え下されば幸です。
343デフォルトの名無しさん:2006/05/01(月) 13:52:13
んなはずはない。
344デフォルトの名無しさん:2006/05/01(月) 13:54:22
再構築してみろ。
345デフォルトの名無しさん:2006/05/01(月) 15:50:56
>>343, >>344 有難うございました。
何故だか今度は上手くゆきました。前回は,アイコンファイルを同じフォルダー
に置かなかったためでしょうか?何れにせよ気が晴れました。
346デフォルトの名無しさん:2006/05/02(火) 22:40:20
すれ立てるまでもない質問は(ry)で質問したけど、スレ違いっぽいからここで・・・
C++BuilderXをインストールしたのはいいが、もうライセンスキーは取得できないの?(配布されてないっぽい?)
347346:2006/05/02(火) 22:54:18
自己解決しますた。もう少しググるべきでした。スマソ。

ttp://www.borland.com/products/downloads/download_cbuilderx.html
348勉強中:2006/05/04(木) 09:40:46
Borland関連のスレッドで、BDS2006 について質問できそうなのがここだったので
場違いな感じですが、質問させてください。
VCLフォームでTEditを2つと、TButtonを貼り付けて、TButtonに以下のコードを記入しました。
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char  *infile, buf[256];
AnsiString inStr;
#ifndef XXX
infile = Edit1->Text.c_str();
inStr = infile;
Edit2->Text = inStr;
#else
Edit2->Text = Edit1->Text.c_str();
#endif
}

すると、Edit1に入力した文字列の文字数が、偶数の場合と、奇数の場合で
Edit2に表示される文字列が異なるのです。
具体的には、 inStr = infile の行で、infile の最後の文字がコピーされたり
されなかったりします。コピーされなかったときには、infile の内容も変更されています。
(最後の文字が削除されてる)

何か大きな勘違いをしているでしょうか?
349勉強中:2006/05/04(木) 09:41:20
ちなみに、コンソール版(以下にソースを示します)では、そのような現象は起きませんでした。
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <stdlib.h>
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
char  *infile, buf[256];
AnsiString inStr;
if (argc<2) {
fprintf(stderr,"Usage : %s CheckedString\n",argv[0]);
return -1;
}
infile = argv[1];
inStr = infile;
puts( inStr.c_str() );
return 0;
}
//---------------------------------------------------------------------------
350デフォルトの名無しさん:2006/05/04(木) 09:48:58
>>348
c_str()の寿命は、副作用が完了するまでと決まっているから、
他のchar[]配列にでもコピーしてから使わないと動作は未定義に
なってしまうよ。
351デフォルトの名無しさん:2006/05/04(木) 09:57:49
おっとっと書くのを忘れてた。

従って、対処法は次の二通り。

・c_str()をchar型の配列にコピーして、それを使う。
・AnsiStringのまま扱い、char型へのポインタは用いない。

後者の方が良いと思う。
352デフォルトの名無しさん:2006/05/04(木) 10:23:10
>>351
違いますよ。AnsiStringのコンストラクタに conct char* 型の引数を
取る時は、そのポインタはワイド文字列を指していなければならないと
決まっています。

>>348
原因は、inStr = infile; にあります。代入演算子 operator=(const char*)
内で、AnsiStringのコンストラクタが呼び出されているので、奇数バイトの
文字列を渡した時は、最期のワイド文字列が無効だと無視されてしまう
のではないかと思われます。
353350:2006/05/04(木) 11:05:31
>>352
そんな事はない。ワイド文字列と言っても、ヌルターミネータ
文字列なら何でもいいだろ。

とにかく、c_str()は、文末を過ぎたら、もうポインタが無効に
なるので、コピーして内容を保存しておけ。これは、std::stringも、
AnsiStringも同じはずだ。
354350:2006/05/04(木) 11:07:37
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 char buf[100];

 std::strcpy(buf, Edit1->Text.c_str());
 Edit2->Text = buf;
}

これで問題はないだろ。
355350:2006/05/04(木) 11:11:02
ごめん訂正

×文末を過ぎたら
○副作用完了点を過ぎたら
356デフォルトの名無しさん:2006/05/04(木) 12:00:44
どっからワイド文字列が出てきたんだ?w
357デフォルトの名無しさん:2006/05/04(木) 12:18:19
BCB6のヘルプにはワイド文字列とか書いてあるが、気にした事ない。

BDS2006のヘルプにAnsiStringのコンストラクタとデストラクタが載って
ないんだけど、どうにかならない?ヘッダーファイル見るしかない?
358デフォルトの名無しさん:2006/05/04(木) 12:43:18
> ヌルで終わるワイド文字列を格納する 1 つのパラメータを渡すと,その文字列で値が初期化されます。

これ?でもどうみても
__fastcall AnsiString(const wchar_t* src);
の説明だしな。
359デフォルトの名無しさん:2006/05/04(木) 13:00:05
AnsiString のコンストラク太君は沢山いるんだよ。
360デフォルトの名無しさん:2006/05/04(木) 14:01:06
AnsiString::AnsiStringのパラメータにstd::stringとstd::wstringがないのが気に入らない

しかしどうやったら>>352みたいな解釈になるのか理解に苦しむ(;^ω^)
361デフォルトの名無しさん:2006/05/04(木) 16:04:10
>>348
Edit2->Text = Edit1->Text;


ではダメなのか?
362デフォルトの名無しさん:2006/05/04(木) 19:56:12
>>361
普通はそう書くね。わざわざc_str()を経由したって意図が
よくわからん。
363勉強中:2006/05/04(木) 23:05:32
仕事から帰ってみれば多くのレスが、
みなさんご意見どうもありがとうございます。

>>361 さん
TextからTextへの代入は、デバッグのために試したコードで、
実際にはTextからポインタを取り出して、
1) inStr = infile[0]=='\0' ? ".\\TEST_IN.XLS" : infile;
2) inStrを使用してファイルをオープンする。

というコーディングをしています。
奇数文字数と偶数文字数との違いでで動作がおかしくなったのを
発見したのでいろいろ試してみていたのが #else の部分なのです。

ブレークポイントを inStr=infile の行に設定して動作を見てみると、
この代入文で最後の文字がコピーされたりされなかったりすることまでは
確認しています。

c_str() の有効期間がどこまであるかを確認して、その上で
w_char* への対応が必要なのかをこれから調べてみます。

※確かにAnsiStringへの代入時にw_charがどうのこうのと書いてありましたが、
LOCALEの設定がデフォルトなので(何も設定していないので)、たぶんですが、
charで動作しているものと思います。
(どうやって確認すればいいのかちょっとわかりませんが)

またわからないことがあったらご報告(質問?)いたしますので、
そのときはよろしくお願いいたします。
364デフォルトの名無しさん:2006/05/05(金) 05:43:01
>>363
WideString の存在知ってますか?
勉強というならVCLソースがいいよ。
いっそアセンブラ出力して厳密に追いかけたり。
あと三項演算子は、チーム開発で混乱を呼びやすいので
わかりやすく if 文にしてほしいなあ。
365デフォルトの名無しさん:2006/05/05(金) 06:27:12
>>363
LOCALEは、char配列に何を入れるか(SJIS/EUC-JP/UTF-8/ラテンとか韓国や中国のコードとかetc)であって、wchar_tは何の関係もないでしょ…
366デフォルトの名無しさん:2006/05/06(土) 15:26:44
>>336, >>342 のC++Builder初心者です。とある物理現象シミュレーションの,
プロから見れば簡単なプログラムを書います。ほぼ出来上った段階で,スタ
ンドアロンで動くようにするため,オプションの,@"共通RTL, DLLを使う",
A"実行時パッケージを使う"のチェックを外し,これは成功しました。しかし,
体裁を整えるために,表示データや Label の追加などをやってから試したとこ
ろ,@,Aにチェックが入っていれば問題ないのに,外した状態では,構築中
または実行時に"EAccessViolationクラスの例外を生成しました"が現れて頓挫
しました。"ヘルプ"を読んでも対策が分りません。御教授下されば幸です。
367デフォルトの名無しさん:2006/05/07(日) 02:26:37
「構築中」にアクセス違反が起きたならコンパイラのバグ、
「実行中」に起きたなら366のコードのバグ。
まずそこの切り分けから。
368デフォルトの名無しさん:2006/05/07(日) 07:51:30
すんません。教えてください。
TComboBoxの選ばれている文字列を取得したいんですが、からっぽに
なってしまいます。OKボタンを押したら、そのとき選択されていた
文字列を保存するということをしたいんです。
string = combobox->SelText; としたんですが、デバッグしてみたら
stringはからっぽでした。ヘルプを見たらそれらしきことが
書いてあったのですがどうすればよいかわかりません。
どなたか教えてください。
369デフォルトの名無しさん:2006/05/07(日) 08:05:17
>>368
TComboBox::SelTextは、ComboBoxコンポーネントにフォーカスがある
場合にのみ有効。イベントハンドラ内などで使う。

今の場合、OKボタンを押した時点で、ボタンにフォーカスが移ってしまう
ので、SelTextは空文字列を返す。

上に選択された文字列を取得するには、Textプロパティを使用の事。
370366:2006/05/07(日) 08:05:53
>>367
有難うございました。状況はプログラムのある行を消すと「構築中」は通るが,
「実行時」には違反が現れる,更に別の行を消すと「構築中」で既に違反が現
れるようになるなどといった具合で,因果関係が掴めませんでした。不思議な
ことに,「RTL, Dll 並びに 実行時パッケージ」を外しても問題なかった数段
階前のバックアップに戻って,行の追加,修正などをやり直したところ,問題
なく通りました(数時間ロスりました)。なお,C++4.5の時代にも,何故か途
中で引掛かるようになったプログラムリストの一部分を消して全く同じことを
書直したら,通るようになったことが幾度かありました。この場合は,Dll を
使う,使わないなどとは関係なかった訳ですが,一般的に,書いているプログ
ラムの何処かに画面上では invisible な余計なコードが紛込むことってありま
しょうか?
371デフォルトの名無しさん:2006/05/07(日) 08:14:29
>>370
心配なら、Libフォルダにある、VCL??.CSMやVCL??.#??を消してみるとよい。
もしかしたらプリコンパイルヘッダが壊れてた可能性がある。
372368:2006/05/07(日) 08:24:41
>>369
有難うございました。試してみます。
373デフォルトの名無しさん:2006/05/07(日) 23:46:14
C++Builder で TInterfacedObject を使ったサンプルコードってない?
ぐぐったけどみつからんかったよ。
374デフォルトの名無しさん:2006/05/08(月) 00:56:20
375373:2006/05/09(火) 16:18:10
ありがとう。
コードは参考になる。
フランス語なのが残念w
376デフォルトの名無しさん:2006/05/11(木) 15:00:04
googleが買収する話はどうなったの?
377デフォルトの名無しさん:2006/05/12(金) 23:40:48
BDS2006のC++Builderで、共有DLLを入れていないPCで実行可能な
(MDIアプリ)単体EXEを作成する方法を教えてください。

以下のような手順で試してみましたが出来ませんでした。

1.MDIアプリケーションのプロジェクト作成
2.メニューのプロジェクト→オプションでダイアログを開く
(3.リンカ→リンクの「動的RTLを使う」のチェックを外す)
↑MDIアプリケーションの場合、デフォルトOFF
4.パッケージの「実行時パッケージを使って構築」のチェックを外す
5.ビルドして出来たexeファイルを別のPCにコピーして実行

SDIアプリケーションを作った場合はできてます。
378デフォルトの名無しさん:2006/05/13(土) 00:11:12
>出来ませんでした
出来たexeを実行したらどうなったのでしょうか?
379377:2006/05/13(土) 00:37:31
>378
一瞬マウスカーソルが砂時計になりますが
何もメッセージが出ず終了します
380377:2006/05/13(土) 00:41:20
BDSの入っているPCではそのexeファイル
をダブルクリックで起動できます
381デフォルトの名無しさん:2006/05/13(土) 00:46:52
必要な「共有DLL」が無い場合なら、ちゃんとDLLが見つからないとメッセージがでる。

そりゃコードの何かが間違っていて、例外起こして落ちているだけだ。
MDIのサンプルみて作り直した方がよい。

382377:2006/05/13(土) 01:37:31
>>381
プロジェクト作って、何もコードを加えずビルドしてます

で377と同じ方法で、別のPCでexeを作り、
さらに別のPCで実行したところ
「BORLNDMM.DLLが見つからなかったため、・・・」
というメッセージが出ました。

さきほどの組み合わせでメッセージが出なかったかは
わかりませんが、377ではMDIアプリの単体exeができないのかも

単体exeを作るのに377のオプション2箇所以外に
確認するところってありますか?
383デフォルトの名無しさん:2006/05/13(土) 04:01:07
>>382
Install Shield Expressで、必要なDLLパッケージも固めろ。
384377:2006/05/13(土) 04:19:22
>>383
はい・・・とりあえずはそれで対応します

できないのはPC環境の問題なのかなぁ
うまく出来ている方います?
385377:2006/05/15(月) 15:16:16
BDS2006の不具合のようです。

以下の手順で作成できました。
1.「動的RTLを利用する」のチェックを入れ、
「実行時パッケージを使って構築」を外してビルド。
2.「動的RTLを利用する」のチェックを外してビルド。
386デフォルトの名無しさん:2006/05/15(月) 17:01:35
助けてください。

私はコンソールでしかプログラムを組んだことがなく、Windowsは初めてです。
時計マークでタイマーを作って100msのIntervalを設定しました。
初期Enabledはfalseです。

main01()という関数内で、do{}while(ret==0) というループをつくります。
このループ内で処理をした後にタイマーEnabled=true とします。
タイマー内ではret=1をセットしてループを抜けるようなソースを書きました。

でも、do{}while(ret==0) ループ内でタイマーEnabled=trueとなっても、
タイマーイベントは発生せず、ループを終わらせることができません。
途中で停止させ、Enabledの内容を確認してみましたが、trueとなっているのに
タイマーイベントは発生しません。

なにかコツとか、windows特有のおまじないみたいなものがあるのでしょうか。

よろしくお願いします。
387デフォルトの名無しさん:2006/05/15(月) 18:02:31
よくわからんが、ループ内でタイマー起動しようとしてる?
Application.ProcessMessage
ループ内にとか入れてみたら?
388デフォルトの名無しさん:2006/05/15(月) 18:03:58
タイマは割り込みじゃねーし。
メッセージループとかメッセージパッシングとかの言葉は理解したほうが良いよ。
あと、ビジーループという言葉もね。
389386:2006/05/15(月) 18:07:05
すみません。
Application.ProcessMessage ですね、あとで調べてみます。

いままでアセンブラの人だったので、windowsはよくわからず、タイマーは割り込みのようなものと聞いたもので。
違うんですね。。
いろいろ語句がでたので、ちょっと調べてみます。
ありがとうございます。
390デフォルトの名無しさん:2006/05/15(月) 22:17:56
なんかDOSからWindowsに移行した時期にタイムスリップしたみたいだw
391デフォルトの名無しさん:2006/05/15(月) 23:09:43
DataSnapのサンプルコードありますか?
392デフォルトの名無しさん:2006/05/15(月) 23:48:33
>386

そういう用途にTimerコンポーネントは向いてないっす。
GetTickCountという関数(Windows起動時からの経過時間をms単位で返す)があるから
それで引き算して時間を数えた方が良い。
393デフォルトの名無しさん:2006/05/16(火) 02:16:07
WM_TIMER って優先度低いってどっかに書いてあった
394デフォルトの名無しさん:2006/05/16(火) 03:12:39
>>393
優先度低いというか、イベントで呼ばれるものだからなあ。
割り込みっぽく使いたければ、マルチメディアタイマーだが(コンポーネントもある)、
マルチスレッドなので、同期が面倒
395デフォルトの名無しさん:2006/05/16(火) 09:31:40
いっそ TTread を派生させた方が組みやすいんじゃないかとw

コンソールとは、実行概念から違うよ。
極論だけど、Windows プログラムは巨大なOSプログラムの一部で、
OSからソフトウェア割り込み(MS-DOSの INTとは全く違う)を
受けて実行するサブルーチンの集合体です。
396デフォルトの名無しさん:2006/05/16(火) 10:06:19
時間かかる処理はメインスレッドとは別のスレッドでやらないと最悪GUIが応答不能に近い状態になることも‥・
397デフォルトの名無しさん:2006/05/16(火) 11:01:20
データマトリックス方式の二次元バーコードを作るソースを公開しているHPを教えてください

398デフォルトの名無しさん:2006/05/16(火) 16:55:02
>>397 誤爆?
399デフォルトの名無しさん:2006/05/17(水) 10:47:26
>>377
>「BORLNDMM.DLLが見つからなかったため、・・・」

これが起きる原因って、プロジェクトオプションの「Linker」タブの「Use dynamic RTL」がオンになってるからだお。
オフにすれば大丈夫。
400デフォルトの名無しさん:2006/05/17(水) 10:56:26
>>398
誤爆じゃないですよ。Builder5でやりたいんですよ。
どこかにソースないですか?
401デフォルトの名無しさん:2006/05/17(水) 11:36:18
>>397
ググレ
402デフォルトの名無しさん:2006/05/17(水) 11:48:25
403デフォルトの名無しさん:2006/05/17(水) 13:19:44
>>401
ぐぐってサックリみつかったらここにこないっすよー
>>402
エロいね君
404デフォルトの名無しさん:2006/05/17(水) 13:27:46
じゃあジックリぐぐればいい。
405デフォルトの名無しさん:2006/05/17(水) 14:14:33
馬鹿はレスしないでください
406デフォルトの名無しさん:2006/05/17(水) 14:25:05
といいつつ自分はレスする人。
407デフォルトの名無しさん:2006/05/17(水) 14:57:32
馬鹿じゃないもん
408デフォルトの名無しさん:2006/05/17(水) 15:01:09
ばかだもん
409デフォルトの名無しさん:2006/05/17(水) 22:29:01
むー
410デフォルトの名無しさん:2006/05/17(水) 22:36:08
分割コンパイルの方法がわかりません。
411デフォルトの名無しさん:2006/05/17(水) 22:42:00
バカには

    ソースはない

って言っておいたほうがいいよ
412デフォルトの名無しさん:2006/05/18(木) 01:32:24
そーっすか
413デフォルトの名無しさん:2006/05/18(木) 08:12:13
そうでもないよ
414デフォルトの名無しさん:2006/05/18(木) 09:06:37
ヒント:新規作成、Library
415デフォルトの名無しさん:2006/05/18(木) 12:27:07
>>403
ググって見つからない == (情報がない || 君にはまだ早い)
416デフォルトの名無しさん:2006/05/18(木) 13:48:39
Version6.0を使用していますが、
オブジェクトインスペクタに表示されている項目のフォントサイズを変更したいのですが
方法はありますか、小さすぎて見にくいので大きくしたいと思っています。
417デフォルトの名無しさん:2006/05/18(木) 13:56:13
説明書読みなさーーーい
418デフォルトの名無しさん:2006/05/18(木) 15:23:22
老眼は大変だね。
419デフォルトの名無しさん:2006/05/18(木) 16:12:33
寄る年波には勝てない
420デフォルトの名無しさん:2006/05/18(木) 16:20:31
BDS2006うpデートどうしよう。

買ってもテストメンドイから仕事では6のままだけど。
421デフォルトの名無しさん:2006/05/18(木) 21:36:52
>>416
私はこのアドオン使ってフォント(とショートカットキーも)を変更してます
ttp://www.gexperts.org/
422デフォルトの名無しさん:2006/05/19(金) 17:04:05
BCB6を使用しています。
StringGridでセルが編集中かを調べる方法はありますか?
アドバイスお願いします。
423デフォルトの名無しさん:2006/05/19(金) 17:11:45
ある
424デフォルトの名無しさん:2006/05/19(金) 17:13:07
>>422
StringGrid1->EditorMode
425デフォルトの名無しさん:2006/05/19(金) 17:19:48
>>424

ありがとうございます。
EditorModeはヘルプで見つけたのですが良く読んで無かったようです。
助かりました。
426デフォルトの名無しさん:2006/05/25(木) 00:41:27
直線を描いてから、マウスでその直線をドラッグして動かしたいんですが、
直線が押されたかどうかを、ボタンを押した点と直線との距離を計算して
判断する以外に方法はないでしょうか?MFCだとRegionというのを使うようですが。
427デフォルトの名無しさん:2006/05/25(木) 09:53:57
あります。
428デフォルトの名無しさん:2006/05/25(木) 22:11:25
リージョンはWinAPIだから言語問わずに使える。
429デフォルトの名無しさん:2006/05/25(木) 22:29:38
でも、MouseDown が直線上だったかどうかを計算で求めた方が
圧倒的に簡単な気がする。
430デフォルトの名無しさん:2006/05/25(木) 22:55:21
ありがとうです。計算でやることにします。
431デフォルトの名無しさん:2006/05/26(金) 12:07:07
MSN Messengerなど、タスクトレイ近くにメッセージを出して、数秒後に引っ込むものを
つくるには、どのようにしたらよいのでしょうか?
432デフォルトの名無しさん:2006/05/26(金) 13:02:38
TForm->Top
TForm->Left
とかで位置調整は可能

表示したらTTimerとかで一定時間かぞえてから消せばよい

アニメーションは力技でがんばれw
433デフォルトの名無しさん:2006/05/26(金) 14:10:40
ノートンとかのあれか。
確かコンポーネントがあったような。
434デフォルトの名無しさん:2006/05/26(金) 17:14:29
バルーンか。Shell_NotifyIcon。
435デフォルトの名無しさん:2006/05/26(金) 23:51:40
avastもだな。
あれはOSのじゃないでしょ。
436デフォルトの名無しさん:2006/06/02(金) 08:28:23
今からBCB買う理由はないよね
437デフォルトの名無しさん:2006/06/02(金) 14:28:40
けど VC++ に移行する理由もない
438デフォルトの名無しさん:2006/06/02(金) 14:44:56
何VC++の話なの?
なら、積極的に廃すべき。ディスクの肥やしライブラリや情報多杉。

MFCに嫌気がさした人の数→
ttp://pc8.2ch.net/test/read.cgi/tech/1059196520/
486 名前: デフォルトの名無しさん [sage] 投稿日: 2006/06/01(木) 21:44:54
勉強するならWTLを激しくお勧め。
きれいなソースで継承関係でもっさり感が80%減(MS社比)
VC++が出力する気味の悪いテンプレートに悩まされず、VCのバグに
巻き込まれにくい。
問題はドキュメントの数と認知度の低さ。趣味グラマーならWTL。
つーかMFCに勉強する所なんて無い。バッドノウハウの温床だよ。

490 名前: デフォルトの名無しさん 投稿日: 2006/06/02(金) 00:48:50
Expressでも使えるようにできる
つーかMFCこそ使えないし

491 名前: デフォルトの名無しさん [sage] 投稿日: 2006/06/02(金) 04:31:39
MFCのソースコードはもうAPIのサンプル集と思ったほうがいい
あれがオブジェクト指向だと信じられていた時代があった・・・
439デフォルトの名無しさん:2006/06/02(金) 15:58:57
VCL も着々と MFC 化してるけどね
440デフォルトの名無しさん:2006/06/02(金) 23:57:16
>>437
ムチャクチャあるやろw
441デフォルトの名無しさん:2006/06/03(土) 12:37:43
ない
442デフォルトの名無しさん:2006/06/03(土) 14:03:30
ないな。
443デフォルトの名無しさん:2006/06/03(土) 14:26:30
誰も2006使ってないの?
444デフォルトの名無しさん:2006/06/03(土) 14:40:04
使ってない。
445デフォルトの名無しさん:2006/06/03(土) 15:39:14
ないな。
446デフォルトの名無しさん:2006/06/03(土) 16:32:20
誰も彼女いないの?
447デフォルトの名無しさん:2006/06/03(土) 17:04:51
女だからな。
448デフォルトの名無しさん:2006/06/03(土) 17:49:40
ないな。
449デフォルトの名無しさん:2006/06/03(土) 23:23:10
450デフォルトの名無しさん:2006/06/20(火) 15:19:31
えらく止まっちゃってるな(´・ω・`)
451デフォルトの名無しさん:2006/06/20(火) 23:31:11
そうだな
452デフォルトの名無しさん:2006/06/21(水) 01:55:02
みんな C++ Builder を使いこなせてるんだな。
453デフォルトの名無しさん:2006/06/21(水) 01:56:40
DelphiではOLEVariantで囲んでやるだけなのにどうしてBuilderでは同じコードで動かないんだ!
454デフォルトの名無しさん:2006/06/21(水) 05:54:14
おいらはEXEL動かすのに苦労した。
DelphiではVBと同じように書けるみたいだけどC++Builderだとちょっとコツが居るね
結構試行錯誤する羽目になったよ。
BorlandのFAQにVariantを使ったサンプルがあったけど今も残ってるのかな?
455デフォルトの名無しさん:2006/06/21(水) 10:00:26
BCBはそこそこ自信があるけど、たまには他のも使ってみようと思ってVC6をインスコしてみたがどこに何を書けばいいのかサッパリ分からなかった
漏れにはBCBしかないんだと思い知りました
456デフォルトの名無しさん:2006/06/21(水) 13:48:00
BCBに比べるとVC6でGUI作るの結構大変だよね。
VCがVBみたいになってないからBCBを使ってるというのもあるな。
457デフォルトの名無しさん:2006/06/21(水) 19:33:06
ダイアログベースとか.NETなら簡単
458デフォルトの名無しさん:2006/06/22(木) 00:13:13
TObject から派生したクラスは多重継承できません。

そこで、インターフェースで代用しようと思ったんですが、
TObject * しか与えられていない時に、その TObject が
どのインターフェースを継承しているか知る方法はありますでしょうか?

レジストリは使用したくないんで、IUnknown で QueryInterface する以外の
方法で。
459デフォルトの名無しさん:2006/06/22(木) 02:15:30
>>458
別にIUnknown::QueryInterfaceとレジストリは直接の関係は無いけど。
登録なんかしなくてもアプリ内の閉じた使用なら勝手にやっちゃってOK
460458:2006/06/22(木) 08:57:32
>>459
レジストリは直接は関係ないんですね。
じゃあ、IUnknown の方向で検討してみます。
ありがとうございました。
461デフォルトの名無しさん:2006/06/22(木) 10:15:33
>別にIUnknown::QueryInterfaceとレジストリは直接の関係は無いけど。

Del1からBCB6まで何年も延々と使いながら「IUnknown::QueryInterface」を知らない俺ガイル
それがなんなのか説明キボン。(サイトでもおk)
462デフォルトの名無しさん:2006/06/22(木) 11:08:46
>>458
Delphiクラスの多重継承制限の指すインタフェースは抽象クラスのことでCOMインタフェースとは関係ないぞ。
ヘルプの用語集あたり見てみれ。
463458:2006/06/22(木) 12:04:53
>>462
COMインターフェースと直接関係ないことは知ってたんだが、
QueryInterface 以外にどんなインターフェース持ってるか知る方法が
ないとばかり思ってたよ。

ヘルプ見直したら、TOjbect::GetInterface なんてのが有ったので、
GUID付きの抽象クラスつくったら、これで取得できそうですね。

その方向で行ってみます。ありがとう。

464デフォルトの名無しさん:2006/06/22(木) 14:23:47
dynamic_castで取得できるようにしてくれりゃいいのにな
465デフォルトの名無しさん:2006/06/22(木) 14:34:03
BDSのバージョンアップ絞めきりが明日だってメールがきた
すっかり忘れてた
みんなどうするorどうした?
466デフォルトの名無しさん:2006/06/22(木) 15:11:52
>>461ではないが、Delで、interface使ったこと無い俺がきましたよ。
interfaceとかIUnknownとか?
誰か説明キボン。
467デフォルトの名無しさん:2006/06/22(木) 15:27:53
>>465
どうしようか迷ってたんだけど、どうせ使うんだから申し込んじゃった
後で8万出すよりは今3万出しといた方がいいや…
468デフォルトの名無しさん:2006/06/22(木) 16:41:43
>458
Nameプロパティとか、なんか指標になる物を参照すればいいんじゃね?
469デフォルトの名無しさん:2006/06/22(木) 16:45:41
>>465
今回見送り。
てか使ってるPC<必要動作環境なんですが‥‥(;´Д`)
470デフォルトの名無しさん:2006/06/22(木) 18:50:05
>>465
そんなこと前日に言われたってさあ…
471458:2006/06/22(木) 20:14:08
>>464
ハゲ同。ためしに dynamic_cast したらヌルポでしたよ orz
>>468
簡単な方法としてはそれもありですけど、delphi の interface の勉強かねて
delphi 流のやりかたでやってみようと思います。
472デフォルトの名無しさん:2006/06/22(木) 23:16:49
>>461>>466
ネットには>>468のような見当違いも居るしもともとあまりつかわれてないしで、素直にヘルプ熟読するが吉
473デフォルトの名無しさん:2006/06/26(月) 11:18:28
TBitmapに256色画像を読み込んでスクロールバーで
色を変化させるテストプログラムを作っていてハマりました。
パレットは読み出せるのですが再設定するとパレットは反映されるのですが、
設定したパレットにドットの色が変わっているのではなく、
元の画像に似た色をわざわざ探して近い色に設定しているらしいです。

読み込んだ256色BMP画像のパレット#12が黄色として、パレット#12を
青に書き直して表示、または画像を保存するにはどうしたらいいでしょうか。
474デフォルトの名無しさん:2006/06/26(月) 11:21:43
追記:
表示はハイカラー以上です。内部だけ256色で処理したいのです。
参考になる記事を探したのですが、256色に関するものは
表示画面が256色のときのものばかりでした。
475デフォルトの名無しさん:2006/06/26(月) 14:11:13
コードを見せてごらん。
476デフォルトの名無しさん:2006/06/26(月) 17:15:52
パレット設定部分だけでもコードをみせてごらん
477デフォルトの名無しさん:2006/06/27(火) 14:32:39
初歩的、スレ違いかもしれませんが失礼します

typedef struct tag_DATA {
long la;
long lb;
}A_DATA;
typedef struct tag_INFO {
intia;
A_DATAdata;
charbuf[5];
}A_INFO;

としたとき、これをTMemoryStreamのSaveToFile()で書き出すと
A_INFO.iaとA_INFO.data.laの間に4バイトのデータが書き出されている
のですが、これはなんのデータでしょうか?
478デフォルトの名無しさん:2006/06/27(火) 15:19:34
ゴミ

BCB6ならプロジェクトオプションのコンパイラ(詳細)タブの「データの配置境界」
479デフォルトの名無しさん:2006/06/27(火) 16:28:19
>>478
レスありがとうございます。

ゴミだったとは・・・orz
ゴミではまずいので「データの配置境界」を4に変更してコンパイル→実行してみると
EConverterErrorクラスの例外(TPenをTStringListに代入できない)
が発生してしまいました。
良い回避方法などはないでしょうか。

当方BCB5で境界が4バイトになればOKなのですが。。。(上記にchar buf[5]がありますがウソです。必ず4バイトになります)
480デフォルトの名無しさん:2006/06/27(火) 16:40:05
#pragma pack(push, 1)

// 構造体を定義

#pragma pack(pop)
481デフォルトの名無しさん:2006/06/27(火) 17:09:37
>>480

うまく動作しました。
ありがとうございました。m(_ _)m
482デフォルトの名無しさん:2006/06/28(水) 00:23:12
>>473
ゲーム用ツールかなんかですか?

256色TBitmapに結び付けられたパレットの「中身だけ」を操作したいのであれば
単純に GetDIBColorTable() / SetDIBColorTable() でいけるとおもいますよ。
483デフォルトの名無しさん:2006/06/28(水) 08:56:03
どうでもいいがC++で構造体のタグ名って普通付ける?
いつもstruct 構造体名 { 定義 };で済ませてるんだが。
484デフォルトの名無しさん:2006/06/28(水) 17:02:41
つけてんじゃん
485デフォルトの名無しさん:2006/06/28(水) 19:19:28
付ける。漏れ規則だから。
486デフォルトの名無しさん:2006/06/28(水) 19:46:35
だめだよお兄ちゃん、ちゃんと付けてよぉ・・・
487デフォルトの名無しさん:2006/06/28(水) 21:47:07
大丈夫、男同士ならいらないんだよ
488デフォルトの名無しさん:2006/06/28(水) 23:24:05
むしろ男同士の方が必要だ
489デフォルトの名無しさん:2006/06/29(木) 01:16:29
ナマがいいの
490デフォルトの名無しさん:2006/06/29(木) 09:55:55
ナマじゃできちゃうよぉ
491デフォルトの名無しさん:2006/06/29(木) 11:00:06
大丈夫、男同士ならいらないんだよ
492デフォルトの名無しさん:2006/06/29(木) 11:30:22
むしろ男同士の方が必要だ
493デフォルトの名無しさん:2006/06/29(木) 13:24:37
ナマがいいの
494デフォルトの名無しさん:2006/06/29(木) 13:28:29
ここは気持ちの悪いインターネットですね。
495デフォルトの名無しさん:2006/06/29(木) 16:13:56
WinDir以下のファイルを検索したいのですが、FindFirst及びFindFirstFileではうまくいかないようです。
OS:WinXP Pro
BCB6

具体的にはC:\Windows\DownLoad Files\下にあるHoge.msiを削除したいのですが、
間に{12A34BC5-D678-90EFG-HIJKLM1NO23P4}\のようなMACアドレスみたいなフォルダ名が
入ってくる(非固定)ので、Hoge.msiを検索しているのですが、出来ません。
496デフォルトの名無しさん:2006/06/29(木) 18:02:54
>>495
Hoge.msi は固定のファイル名なのかな?
497デフォルトの名無しさん:2006/06/29(木) 18:05:15
ヒント:再帰
498495:2006/06/29(木) 18:52:35
自己解決しました。
【検索する関数】を、フォームのデストラクタ内で呼んでいたからでした。
そこより前の別イベント内で呼べばOKでした。
お騒がせしました。


その【検索する関数】はWin2k+BCB5ではうまく走っていたので
すわOSのバグかBCB6の不具合かと一瞬寒くなりましたが、
それだけのバグがあれば大騒ぎになってますもんね。とほほ。
499デフォルトの名無しさん:2006/06/29(木) 19:48:19
そういやBCB6ってクラスエクスプローラでoperator=とかの定義できないのな/ ;' 3  `ヽーっ
500デフォルトの名無しさん:2006/06/29(木) 20:47:50
DelみたいにShift+Ctrl+Cで補完できないのが…
501デフォルトの名無しさん:2006/07/04(火) 14:34:40
C++Builderを使って、.NET(VC#など)で作成したアプリと同等の外観(たとえばツールバー)の
ソフトをつくるのって大変ですか?
502デフォルトの名無しさん:2006/07/04(火) 22:19:51
BDS2006なら標準。
BCB6当たりだとXPのエクスプローラスタイル程度なら可能。
503デフォルトの名無しさん:2006/07/06(木) 17:26:46
IntToStr使うのと(String)でキャストするのではどっちがスピードが速いの?
504デフォルトの名無しさん:2006/07/06(木) 21:12:54
>>503
IntToStr: FmtStr(Pascal版sprintf)で変換
AnsiStringにキャスト(AnsiString(int)): AnsiString::sprintfで変換
505デフォルトの名無しさん:2006/07/06(木) 21:38:08
BDS2006のBCBのヘルプにはコンストラクタ/デストラクタが載ってないよな。
デストラクタはいいとして、コンストラクタが載ってないのはかなり困る。
いちいちヘッダファイルを見るのも面倒臭いし。

・・・という内容でBDNのアンケートに英文で投稿してきた。BCB6のヘルプには
載ってるのに、どうして削ったんだろうか?
506デフォルトの名無しさん:2006/07/08(土) 00:01:25
DelphiのヘルプをBCB用に修正しているから。
多分BCB6のヘルプとの連続性はない。
507デフォルトの名無しさん:2006/07/09(日) 09:04:07
どのスレッドで質問すればいいのかわからなかったので、この
スレで質問させてください。スレ違いなら誘導していただければ。

BDS2006Proをインストールして起動させてみたのですが、
「.NETサービスを初期化します」のところで3分弱待たされるのです。
その間、HDDアクセスランプはあまり点灯しないのですが、
CPU使用率がほぼいっぱいになってしまいます。

みなさんのところでは、起動にどのくらいの時間がかかっているのでしょうか?
また、私のところだけだとすれば考えられる原因が何かわかるでしょうか?


わたしのPCの概要は以下の通りです。

プロセッサ
モデル : Intel(R) Pentium(R) 4 CPU 3.00GHz
スピード : 3.01GHz
性能の評価 : PR3999 (概算)
一プロセッサー当たりのコア : 1 ユニット
一コア当たりのスレッド : 2 ユニット
内部データのキャッシュ : 8kB 同期, Write-Thru, 4-way set, 64 byte line size
L2 オンボードキャッシュ : 512kB ECC 同期, ATC, 8-way set, 64 byte line size, 2 lines per sector
508507:2006/07/09(日) 09:05:10
ちなみにメモリは1GB積んでます。

マザーボード
バス : ISA AGP PCI IMB USB FireWire/1394 i2c/SMBus
システム BIOS : American Megatrends Inc. 1019.002
システム : To Be Filled By O.E.M. To Be Filled By O.E.M.
マザーボード : ASUSTeK Computer Inc. P4C800
トータルメモリ : 1023MB DDR-SDRAM
509デフォルトの名無しさん:2006/07/09(日) 10:47:44
不必要な情報はいろいろカキコしているけど、OS種別さえ書いていない件について
510デフォルトの名無しさん:2006/07/09(日) 11:16:54
>>507
今測ってみたがウチが50秒弱
511デフォルトの名無しさん:2006/07/09(日) 11:23:16
俺も測定してみた。
起動全体には、約39秒。
.NETなんちゃらの初期化は6秒くらいだった。
ストップウオッチで測定。
512デフォルトの名無しさん:2006/07/09(日) 11:44:47
やった。55秒で起動した。

513デフォルトの名無しさん:2006/07/09(日) 11:48:15
>>507
その構成で起動が遅いと言うのは考えられないな・・・・
再インストールしてみたら?
514デフォルトの名無しさん:2006/07/09(日) 11:59:16
HDD崩壊直前に良くある現象だな。
515デフォルトの名無しさん:2006/07/09(日) 12:55:36
点を左から右に移動させるだけの簡単なプログラムの作り方教えてください。
516デフォルトの名無しさん:2006/07/09(日) 13:00:54
>>515
"Google" でググれ。
517507:2006/07/09(日) 14:03:08
お世話になります。
> 不必要な情報はいろいろカキコしているけど、OS種別さえ書いていない件について
確かに、忘れてました。
OSはXP SP2です。

インストールですが、Visual C++ 2005 ExpressEditionを入れたときに、
NetFramework1.1との干渉?でExpressEditionが立ち上がらなかったので、
一旦、ExpressEditionとNetFrameworkをアンインストールして
それからVisual C++ 2005 ExpressEditionをインストール。
(同時にFramework2.0もインストール)
それからBDS2006をインストールしました。
(ここでFramework1.?がインストール)

再インストールするとして、Visual C++ 2005 ExpressEditionとBDS2006と
どちらを先にインストールすればよいでしょうか?
それとも順番は関係ないですか?
518デフォルトの名無しさん:2006/07/09(日) 17:07:45
>>517
デフラグは?他の.NETソフトの立ち上がりは遅くない?
519507:2006/07/09(日) 17:13:23
>>518
はい、何度もチェックディスクとデフラグをかけています。
他の.NETソフトについては全然遅くありません。
(他の.NETソフトといってもVisual C++ 2005 ExpressEditionくらいしか
思いつきませんが。でも2005ExpressEditionって.NET2ですよね)
520デフォルトの名無しさん:2006/07/09(日) 17:14:18
C++Builderで携帯アプリを作るのは可能でしょうか?

521デフォルトの名無しさん:2006/07/09(日) 21:21:43
BDS→VC++の順でいい気がする
522デフォルトの名無しさん:2006/07/09(日) 23:36:32
>>520
可能
523デフォルトの名無しさん:2006/07/09(日) 23:47:08
>>522
本当ですか?
524デフォルトの名無しさん:2006/07/10(月) 00:28:33
過去ログを参考にしてGDI+を利用しようとしたのですが,
(ttp://bx.misty.ne.jp/~h-kova/cgi-bin/bbs/cyclamen.cgi?log=faqtip&tree=r12)

Gdiplus::Image img(L"0001.bmp");
Gdiplus::Graphics graphics(Image1->Canvas->Handle);
graphics.DrawImage(&img, 0, 0);
Image1->Refresh();

2行目で"ビットマップを持っている時のみイメージの変更が可能です"
というエラーが出てしまいます.
どなたか対処法しっているかたいますか?
525デフォルトの名無しさん:2006/07/10(月) 02:03:19
>>524
TImageにビットマップ以外の物を入れた状態で、Canvasにアクセスするとそのエラーが出る。
GDI+は関係なし。
Image1にJPEGでも入れてんだべ。
526デフォルトの名無しさん:2006/07/10(月) 17:19:11
> C++Builderで携帯アプリを作るのは可能でしょうか?
iアプリなんかのJAVAアプリの事なら無理。
JBuilderのスレへ池。
527デフォルトの名無しさん:2006/07/10(月) 17:33:10
>>519
「タイムアウトしました」みたいなエラーは出てないのか?
528デフォルトの名無しさん:2006/07/11(火) 11:08:35
>>520 >>526

自分、日本語版インスコ、後に英語版インスコしたけど、
英語版(時期的に大分後だったせいか?)にはシンビアン用コンパイラが付いてたお。
それ入れると、なぜかバージョンダイアログがC++ Mobile Editionになる。
でも使ってるのはWin32だけ。
529デフォルトの名無しさん:2006/07/14(金) 00:07:52
BDS2006のBCBには、クラスエクスプローラって無いの?
構造ってウィンドゥがあるけど、プロパティやメソッドの追加ができん。
BDSスレで聞いてみたけど完全に無視されてる。
530デフォルトの名無しさん:2006/07/14(金) 00:20:41
> プロパティやメソッドの追加ができん。

Togetherでやる事になった。
BCBには対応していない。
531デフォルトの名無しさん:2006/07/14(金) 00:25:19
>>530
ありがとうございます。確かにDelphi(.NET)、C#のみの対応みたいですね。
残念ですが仕方ありません。データグラムもTogetherに移されたようですし。
BCBのTogetherへの対応は次バージョンまで待たないとだめかな・・・・
532デフォルトの名無しさん:2006/07/14(金) 00:26:16
×データグラム
○ダイアグラム

この機能結構好きだったんだけどなあ・・・・Delphiは使わんし(-_-;)
533デフォルトの名無しさん:2006/07/15(土) 08:10:01
質問です。
自分で作成したプロジェクトでbplファイルをインストールしたいのですが
bpiが見つかりませんとでました。bpiとは何でしょう?
534デフォルトの名無しさん:2006/07/15(土) 09:54:50
>>533
ヘルプ見てみな。BPIは静的リンクのためのインポートライブラリ。
535デフォルトの名無しさん:2006/07/18(火) 23:20:41
質問があります。
C++ Builder5を使っているのですが、
トラックバーで、矢印を2つ持ちたいのですが不可能でしょうか?

印刷ページの選択などで、
開始ページと、終了ページを1つのトラックバーで設定するような
コンポーネントがあればと思ったのですが、
なにか、いいアイデアがあればよろしくお願いします。
536デフォルトの名無しさん:2006/07/19(水) 08:37:46
>>535
自分でTControlから派生させて1から自力実装しないと_。
537デフォルトの名無しさん:2006/07/19(水) 09:03:21
>>535
TTrackBar を継承して無理矢理作れなくは無いだろうけど、矢印2つは、範囲が0の時(つまり2つの矢印が同じ値を指すとき)不便じゃないか? 目盛は十分細かくなれるんだから。
SelStart と SelEnd があるんだから、ボタンを2つ作るなり、コンテキストメニューで2つ項目を作るなりして設定するのが良かろうと思うが。
538デフォルトの名無しさん:2006/07/19(水) 12:28:29
BCB6ってWindowsMeで使える?
対応OSには入ってないけど、使えたって話も聞いたから
539デフォルトの名無しさん:2006/07/19(水) 13:04:59
>>538
使えるけどヘルプまわりで制限受ける。Win98も同様。

以下Readmeより
Windows 98/Me における Windows ヘルプインデックスの制限

Windows 98/Me の Windows ヘルプエンジンは,[トピックの検索]ダイアログの[キーワード]タブに 16 ビットのリストボックスを使用しているので,
32,767 語を超えるキーワードを表示できません。
エントリ数がこの制限値を超える場合,[キーワード]は空白になります。
これらのいずれかのオペレーティングシステムを使用している場合,ヘルプインデックス制御ファイル (bcb6.ohi) に変更が加えられて,
[キーワード]表示からいくつかのヘルプファイルが除外されていることに気がつくことでしょう。
この変更は,ほかのヘルプシステム機能 (たとえばファイルの相互リンクや〔F1〕キーによるアクセス) には影響しません。
さらに,":Index" エントリの前にコメントを示すセミコロンを追加したり削除することで,インデックスを拡張したりほかのヘルプファイル参照を追加または削除できます。
ただし,.OHI ファイルを編集する場合は,キーワード表示が空にならないように,WinHelp ビューアの制限に注意してください。
540デフォルトの名無しさん:2006/07/19(水) 14:09:40
C++BuilderでVCLを使った場合とAPIオンリーで組んだ場合
速度にどれくらいの差がでる?

また、APIオンリーの場合、C++BuilderとVC++でも
速度の差はでるの?
541デフォルトの名無しさん:2006/07/19(水) 14:31:17
自分で測定してみなさい。
ぶっちゃけ言うと、大してかわらない。
542デフォルトの名無しさん:2006/07/19(水) 14:57:16
VCLってランタイム(ランタイムリンクも出来るけどさ)みたいなもんじゃなくて、
普通にWin32APIをコールしているクラスライブラリだから違いは無いだろ。
543デフォルトの名無しさん:2006/07/19(水) 16:30:02
ダイナミックリンクしなくてもランタイムはランタイムだ。
もちろんランタイムとはランタイムライブラリのこと。
544デフォルトの名無しさん:2006/07/19(水) 17:16:05
>>536,537
ありがとうございました。
自分にはレベルが高そうなんで、
コンポーネント2個つかおうと思います。
545デフォルトの名無しさん:2006/07/19(水) 19:41:06
>>540
実行ファイルのサイズに差があるぐらい
546デフォルトの名無しさん:2006/07/20(木) 03:40:30
ラップしてるってことは、ややオーバーヘッドがあるってことじゃないの?
547デフォルトの名無しさん:2006/07/20(木) 06:25:09
548デフォルトの名無しさん:2006/07/20(木) 11:18:16
>>544
インスペクタで SelStart と SelEnd いじってみなよ。
TTrackBar 2個使うより多分簡単だよ。
549デフォルトの名無しさん:2006/07/20(木) 13:40:54
> ラップしてるってことは、ややオーバーヘッドがあるってことじゃないの?

試さなくてもそのとおり。
550デフォルトの名無しさん:2006/07/20(木) 14:31:42
  \|/
  /⌒ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | ゜Θ゜) < そうでもないよ。
  | ∵ つ  \___________
  | ∵ |
  \_/

だってBCBでWin32コールする場合でも、クラスでラップしてコーディングするんだから全く同じ開発。
ActiveX、ドトネトなんかは激遅。
551デフォルトの名無しさん:2006/07/20(木) 14:40:14
ラッパーでのロスが気になるほどガチガチのコード組むなら
おとなしくVC++使った方がいいと思うんだ
552デフォルトの名無しさん:2006/07/20(木) 17:28:15
てかUIで多少ロスあってもほぼ影響はないと思うんだ。
途中結果の表示で重くなるなら間引けばいいんだし。
553デフォルトの名無しさん:2006/07/20(木) 17:32:05
それは読み間違い。

BCBってのはUIでロスが少ない。
に対してActiveXなんかだと起動時既に描画がもたるし、
メモリ積んでてもメモリエラーになる。
554553:2006/07/20(木) 17:34:08
VC++/MFC系もコントロール少なくて10くらいしか無いし、
そこでActiveX使うとやっぱオーバーヘッド大。
555デフォルトの名無しさん:2006/07/20(木) 17:52:31
UI部のほんのわずかなオーバーヘッドが許容できないようなプログラム組んでいる奴なんて存在しているのか。
556デフォルトの名無しさん:2006/07/20(木) 18:32:01
VCL製ならTListViewの自動更新切らずに大量のTListItemをAddしてるアプリなら意外とあるとおもう。

IriaさんとかIriaさんとか。
557デフォルトの名無しさん:2006/07/21(金) 01:49:31
API直接叩いててもロックしないでAddItemしてるアプリはいくらでもあると思うぞ。
558デフォルトの名無しさん:2006/07/22(土) 01:35:32
>>556
Iriaさんだけじゃないから。
っていうか更新切るだけで全然違うのに…orz
559デフォルトの名無しさん:2006/07/23(日) 10:42:19
自動更新の切替なんてあるのか、知らんかったよ
560デフォルトの名無しさん:2006/07/23(日) 10:52:14
BeginUpdate
EndUpdate
の事?
561デフォルトの名無しさん:2006/07/24(月) 14:45:56
ttp://leed.issp.u-tokyo.ac.jp/~takeuchi/builder/browse.cgi
たけうちさんのとこ氏んでる・・・
562デフォルトの名無しさん:2006/07/24(月) 17:19:23
BCB4でTHMLコントロールでHTMLファイルを表示しようとしたのですが、
文字は表示されたのですが、文字の色がHTMLで指示した色になりません。
UseDocColorsはtrueになっています。
HTMLでは文字色は<FONT color=#ff0000>で指示しています。
文字の色を反映する方法はありませんか?
563デフォルトの名無しさん:2006/07/24(月) 19:26:25
>>562
IEとかでちゃんと表示されることを確認したか
564デフォルトの名無しさん:2006/07/24(月) 21:06:59
>>563
表示されてます。
565562:2006/07/25(火) 14:47:38
TWebBrowserを使うことで自己解決しました。
566デフォルトの名無しさん:2006/07/26(水) 13:46:51

AnsiString file = "c:\\test.bmp";
TImage *image;
image->Picture->LoadFromFile(file); ← EAccessViolation が出ます。

なぜでしょうか?
567デフォルトの名無しさん:2006/07/26(水) 13:58:03
>>566
TImage の実体がないから
568デフォルトの名無しさん:2006/07/26(水) 14:00:22
ついでに言うとその場合はTImageじゃなくてTBitmap使わないか?
569566:2006/07/26(水) 14:07:23
>>567
早速のご返答、ありがとうございます。
しかし、初心者なので、
実体がないという意味が理解できません(;_;)

>>568
TBitmapを試してみます。
570566:2006/07/26(水) 14:19:33
色々調べた結果、

AnsiString file = "c:\\test.bmp";
Graphics::TBitmap *temp = new Graphics::TBitmap;
temp->LoadFromFile(file);

で、出来ました!

newってつけることで、実体というものができるのですか?
571デフォルトの名無しさん:2006/07/26(水) 14:28:08
>>570
BCBじゃなくてC++の入門書嫁。

あとBCB特有の制限にTObject派生クラス(Delphi型クラス)は静的な生成が出来ない。
572566:2006/07/26(水) 14:33:15
>>571
おっしゃっている言葉の意味が難しすぎて、理解できませんOrz
どんな本がいいですか?よければ教えて下さい。
本屋に行っても、そういうのが親切にかいてあるのが見つからないのです(泣)
573デフォルトの名無しさん:2006/07/26(水) 14:38:47
おー、ちゃんと自分で調べて解決するという意識があるじゃん。
そんな感じでやっていけば、すぐにある程度のことは出来るようになるよ。

まずは>>571が言うように、C++というものを覚えてからだね。
ただし、C++自体は非常に巨大な仕様なので
本当に基本的なC+class程度の内容を理解したら
templateや例外は後回しにしてVCLをいじりまわすのが良いかもしれない。
(独自拡張や制限もあるし)

>>572
VCLクラスには、スタックやグローバル領域に作成できない(new以外不可)、
多重継承できない等の制限がある。
また、派生時のコンストラクタ/デストラクタの呼び出し方が若干違う。

で、BCBの書籍は絶滅状態なので、C++の書籍とDelphiの書籍とWinAPIの書籍を。
必要ならネットワークとかスレッドとかDirectXとかも個別に。
574566:2006/07/26(水) 14:51:36
>>573
ありがとうございます!!
「やさしいC++」という本を読んで、"new"が動的にメモリを確保するものであることは理解できました。
静的な生成ができないとは、予め用意していないコンポーネントとかは"new"を付けて宣言するしかないということですね。

もっと、色々なことが書いてある、勉強になりそうな、C++の本を見つけたいです。
Delphiとか、WinAPIのよい本があったら教えてくださいm(__)m
575デフォルトの名無しさん:2006/07/26(水) 14:57:03
Win32APIはVCLでラップされてるから読まなくて良いんじゃね?
必要なときにググれば。

そういう自分はWin16からどっぷりWinAPI脳。
576566:2006/07/26(水) 15:04:40
>>575
やっぱググっていくしか道はないんですかね。
中々、よい本が見つかりません。。
577デフォルトの名無しさん:2006/07/26(水) 15:09:13
>>574
WinAPIならCDのなかに転がってる(BCB6)日本語リファレンスとPlatformSDK(英語、Win32APIスレ参照)のドキュメント。
英語読むのに抵抗ないなら前者は不要。
578566:2006/07/26(水) 15:19:47
>>577
頑張って英語読んで勉強します!
579デフォルトの名無しさん:2006/07/26(水) 15:26:01
VCLのクラスのメソッドでラップされてるWinAPIを直にコールしても弊害しか無いような希ガス。
VCLクラス派生によるコーディングを身に付けた方が良いような。
580デフォルトの名無しさん:2006/07/26(水) 20:56:04
>>579 の言うように VCL をいじり倒してから
それだけでは足りないようなら API を直で触る
ようにするといいよ。
581566:2006/07/27(木) 13:10:55
みなさんご親切にありがとうございました!
また、お世話になります。
582デフォルトの名無しさん:2006/07/27(木) 20:04:10
BCB6で使ってたTScrollBoxの派生コンポーネントをBDS2006に組み込もうとすると

[リンカ エラー] Error: 未解決の外部参照 '__fastcall Forms::TScrollBox::PaintWindow(void *)' が (パス省略)\SCROLLBOXEX.OBJ から参照されました

ってエラーが出てしまう

ためしに新規でプロジェクト起こしてTScrollBoxを継承したコンポーネントの
スケルトンを作ってビルドしても同じエラーがでてしまう

どうすれば回避できるんだろう?
583デフォルトの名無しさん:2006/07/27(木) 21:17:19
試しにDelphiでスケルトンつくってやったら問題なくコンパイルできた
くそう、Delphiわかんねーよ…
584デフォルトの名無しさん:2006/07/27(木) 22:54:51
>>583
> くそう、Delphiわかんねーよ…

心配するな、俺もだ
585デフォルトの名無しさん:2006/07/27(木) 23:33:02
>>582
ヘルプによると
[C++] virtual void PaintWindow (HDC__ * DC);
エラーは、
TScrollBox::PaintWindow(void *)'
型が異なっている。
試しに、PaintWindow(void *)を作ってそこから親のPaintWindow()を呼ぶようにしたら
コンパイルは通ったぞ。
586デフォルトの名無しさん:2006/07/28(金) 09:06:32
>>585
回答ありがとぅー!

こちらもダミーのPaintWindow(void *)を作って回避したけど、
一応親のPaintWindow()を呼ぶようにしておくよ

ではでは、アデュー ノシ
587デフォルトの名無しさん:2006/07/28(金) 14:07:42
うがー
BCB6の時よりSTLが厳格になってんなー
エラーでまくりだぜー

orz
588デフォルトの名無しさん:2006/07/28(金) 15:01:50
>>587
STLportから見捨てられて、Dinkumwareにすがりついとる。
589デフォルトの名無しさん:2006/07/28(金) 16:02:52
>>588
うおお、また実装が変わったのか!
最初はRogueWaveだったよなー

んもー
590デフォルトの名無しさん:2006/07/28(金) 16:18:15
節操が無いというか、運が悪いと言うべきか
591デフォルトの名無しさん:2006/07/28(金) 16:20:25
どっちのSTLが良いの?
592デフォルトの名無しさん:2006/07/28(金) 16:49:08
ていうか、本当は違いがあっちゃダメなもののはずなんだがな
593デフォルトの名無しさん:2006/07/28(金) 17:01:54
これだから、ボーランドは嫌いだ
594デフォルトの名無しさん:2006/07/28(金) 17:04:18
VCLのまま存続してる方が珍しいよ。

MFC→ATL/WTL→MC++→C++/CLI
J++/WTL→J#

なんてひどい例もあるし。
595デフォルトの名無しさん:2006/07/28(金) 18:23:41
VCL はもう制度疲労なんだから、後生大事に持ってるほうが変だろ
596デフォルトの名無しさん:2006/07/28(金) 18:24:23
STL はVCLと関係ないだろ
597デフォルトの名無しさん:2006/08/04(金) 22:11:24
STLport 5.1 では Borland C++ がちゃんとサポートされそうな感じ。
598デフォルトの名無しさん:2006/08/04(金) 22:27:27
ようやくSTLportも重い腰を上げてくれたか・・・・
長い間某がVerUPしないので一度ブランチ切られてしまったんだよね。
もうだめぽかと思ってた。

BCC5.82(BDS2006の奴)はDinkumwareなので、std::mapなんかの
ベンチを取るとSTLportより遅いんだよね。楽しみ。
599デフォルトの名無しさん:2006/08/08(火) 22:55:47
600デフォルトの名無しさん:2006/08/09(水) 13:26:57
>>599
TC++から始めた俺には少し嬉しいがBDSと何か違うのか?
601デフォルトの名無しさん:2006/08/09(水) 16:46:02
統合版を買ったアホは相手にしない、ってことだよ。
602デフォルトの名無しさん:2006/08/09(水) 17:13:07
企業向け気味だったのを ホビー向けにするってことか
無料のExpressに持って行かれてるのを食い止めようという
Databaseの機能制限もないんだったら TurboC++は魅力的かも
しかし、CLIはサポートしそうもないな
603デフォルトの名無しさん:2006/08/09(水) 21:00:05

ボーランド デベロッパーツールズグループ、伝統あるTurbo?ブランドの復活を発表
http://www.borland.com/jp/company/news/press_releases/2006/08_07_06_borlands_developer_tools_group_plans_to_rev_up_classic_turbo.html
604デフォルトの名無しさん:2006/08/09(水) 22:56:24
Turboブランドって何よ?BDSでさえ最適化が糞なのに、Turboはまさか
最適化を完全に省略してしまうとかか?
605デフォルトの名無しさん:2006/08/10(木) 01:16:33
藻前昔のTurboの頃の他社に対する最適化の凄さシラナイノカ
606デフォルトの名無しさん:2006/08/10(木) 09:45:07
でも今回のTurboは名前だけなんでしょ。
まあTurboブランドの方がまた社名が変わっても
製品名を変えなくてすむね〜。
607デフォルトの名無しさん:2006/08/10(木) 13:49:54
DOSのときみたいに3秒で終わるコンパイルきぼんぬ
608デフォルトの名無しさん:2006/08/10(木) 14:04:22
       、--‐冖'⌒ ̄ ̄`ー-、
     /⌒`         三ミヽー-ヘ,_
   __,{ ;;,,             ミミ   i ´Z,
   ゝ   ''〃//,,,      ,,..`ミミ、_ノリ}j; f彡
  _)        〃///, ,;彡'rffッ、ィ彡'ノ从iノ彡
  >';;,,       ノ丿川j !川|;  :.`7ラ公 '>了
 _く彡川f゙ノ'ノノ ノ_ノノノイシノ| }.: '〈八ミ、、;.)
  ヽ.:.:.:.:.:.;=、彡/‐-ニ''_ー<、{_,ノ -一ヾ`~;.;.;)
  く .:.:.:.:.:!ハ.Yイ  ぇ'无テ,`ヽ}}}ィt于 `|ィ"~
   ):.:.:.:.:|.Y }: :!    `二´/' ; |丶ニ  ノノ
    ) :.: ト、リ: :!ヾ:、   丶 ; | ゙  イ:}    逆に考えるんだ
   { .:.: l {: : }  `    ,.__(__,}   /ノ
    ヽ !  `'゙!       ,.,,.`三'゙、,_  /´   「3秒でコンパイルできるソースを書けばいい」と
    ,/´{  ミ l    /゙,:-…-〜、 ) |
  ,r{   \ ミ  \   `' '≡≡' " ノ        考えるんだ
__ノ  ヽ   \  ヽ\    彡  ,イ_
      \   \ ヽ 丶.     ノ!|ヽ`ヽ、
         \   \ヽ `¨¨¨¨´/ |l ト、 `'ー-、__
            \  `'ー-、  // /:.:.}       `'ー、_
          `、\   /⌒ヽ  /!:.:.|
          `、 \ /ヽLf___ハ/  {
              ′ / ! ヽ
609デフォルトの名無しさん:2006/08/10(木) 16:00:03
>>607
確かにTurbo Pascal(のコンパイルの速さ)は凄かった。
いや、その凄さに気付いたのは他のコンパイラの遅さを知ったからだ。
610デフォルトの名無しさん:2006/08/10(木) 16:03:02
前方から構文解析できるpascalと、
文法がメッキで肥大したc++と同列にするのは、
如何なものかと。
611デフォルトの名無しさん:2006/08/10(木) 17:41:44
でも、出来ることは大して変わらないんだよ。
612デフォルトの名無しさん:2006/08/10(木) 18:08:52
いや、出来る事の話じゃなくてコンパイラの仕事=速度の話なんだけど。。。
613デフォルトの名無しさん:2006/08/11(金) 00:37:08
そういえば、かなり前だけど
Win9xマシンでDOS用のEXEを作るために
TurboC++1.01でPC98のDOS3.x時代に作ったソースをコンパイルしたら
まるでechoかと思うくらい、あっというまに終わって驚いたっけ。
614デフォルトの名無しさん:2006/08/11(金) 01:42:14
そりゃx64版のコンパイラとかx64ネイティブなIDEが付いてるならTurbo買っても良いけどさ…
BDS2006とかBCB6からじゃねぇ…っていうかさっさとBDSをx64化しやがれってんだい。
ま、今でもTurboC++4 for DOS時々使ってるけど(w
615デフォルトの名無しさん:2006/08/11(金) 11:52:12
616デフォルトの名無しさん:2006/08/11(金) 14:57:28
>>614
x64ネイティブ開発用に何使ってんの?
617デフォルトの名無しさん:2006/08/14(月) 01:19:12
なにこのヒッソリ感
618デフォルトの名無しさん:2006/08/18(金) 10:52:31
試しにぬるぽ
619デフォルトの名無しさん:2006/08/18(金) 13:06:11
試しにガッ
620デフォルトの名無しさん:2006/08/20(日) 05:01:57
Turboになれば、コンパイル速度が10倍になるよ
GUIも軽くて凄いのがある、STLやBOOSTも完全対応
たぶん、これ使えば仕事能率UP=毎日定時に帰れる+しかも給料UP
ヽ(`Д´)ノ ゼッタイソウニチガイナイ
621デフォルトの名無しさん:2006/08/20(日) 08:28:30
>>620
そうならBDSを捨てて乗り換えるんだがなぁ
622デフォルトの名無しさん:2006/08/26(土) 18:02:09
構造体内で複数のAnsiStringを定義し(AnsiStringのみ定義)、
これをNULLで初期化したいのですが、
char型でないのでmemsetが使用できません。
一つ一つについて、
構造体名.「AnsiString型」 = "";
で消去するしかないのでしょうか?
623デフォルトの名無しさん:2006/08/26(土) 18:13:24
>>622
コンストラクタ作って初期化。てかそもそも宣言時のAnsiStringの中身は""だから初期化する必要はない。
624622:2006/08/26(土) 18:24:12
コンストラクタですね。ありがとうございます。
最初に初期化するのではなく、ある周期で初期化したかったのです。
625デフォルトの名無しさん:2006/08/27(日) 01:05:00
>>624
>最初に初期化するのではなく、ある周期で初期化したかったのです。
それじゃコンストラクタはダメでしょ
構造体にAnsiString型メンバを全部からにする関数を追加する
その関数の中では1つ1つ空にするしかないが
626デフォルトの名無しさん:2006/08/27(日) 01:26:00
>>624
memset(構造体、0) とかやりたかったのかな
char=1バイト、char* とか文字列ならどのみちむりぽ
クラスなら init() とかつくるパターンよくみる

class A
   コンストラクタ{ init() }
   init(){ 文字=””; }
627デフォルトの名無しさん:2006/08/27(日) 04:53:17
どこで聞こうかここで聞いてみる
C++Builder6で WTLって動かせますか?(Windows Template Library)
たしかビルダー内に古いATLが入ってたけど、なんかエラー出たような
なんか特殊な設定あれば動くのでしょうか
用途は興味本位です
628622:2006/08/27(日) 10:31:29
>>625 >>626
いろいろありがとうございます。
memsetのような便利なものがあれば使いたかったのです。
""で初期化したいAnsiStringが数十個ありますので。
けど、関数を使うにしろ、プログラムを書くときには
1つ1つ「AnsiString=""」を記述しないといけないみたいですね。
629デフォルトの名無しさん:2006/08/27(日) 11:09:44
記述が面倒なだけなら
初期化済みの静的なデータを用意しておいて
それをコピーするという手もあるけどな。

見た目が一行になるだけで、内部ではコピーコンストラクタが呼ばれてるから
実行コスト的には特にメリットは無いけど
メンバを増やした時にコード追加を忘れる危険が少しは減るかもね。
630デフォルトの名無しさん:2006/08/27(日) 14:21:39
>>627
BDS2006ではVC++が受け付けてbccが弾く部分をいくつか(結構あったがw)コメントアウトしたら動いたんで
がんばればいけるんじゃないか?
631デフォルトの名無しさん:2006/08/27(日) 15:12:52
>>628
AnsiStringを数十個もメンバにするならTStringListとか
std::vector<AnsiString>とか使うことを考えたら?
それなら一遍にclear()できる
632622:2006/08/27(日) 17:37:02
>>629
ありがとうございます。その方法ならメンバを気にしなくていいですし、
記述も簡単になりますね。そうさせていただきます。
余談ですが、AnsiStringがNULLの場合って、
printf("%s",AnsiStaring)とすると、空白が出力されるのではなくて
(NULL)が出力されてしまうんですね。初めて知りました。。。

>>631
キレイな記述方法ですね。ありがとうございます。
今回は、1つ1つのメンバにわかりやすい名前をつけてますので、
>>629さんのやり方で記述したいと思います。

633デフォルトの名無しさん:2006/08/27(日) 17:39:45
printfの%sにAnsiStringそのもののインスタンス突っ込んで大丈夫だっけ?
c_str()呼ばないとダメなはずだが‥‥
634622:2006/08/27(日) 18:10:40
>>633
自分の理解不足が情けないです。いろいろありがとうございます。
c_str()を使用するようにしました。
そうしたら、NULLは空白になりました。
635デフォルトの名無しさん:2006/08/28(月) 09:45:52
char/NULL式の文字列の汚点は、
文字が長くなる度に処理のオーバーヘッドヘッドが増えることだお。
(ペンキ塗りの笑い話があるおね)

だから、memset/NULLをやめてサイズを0(""を代入するとサイズ0になる。Clearメソッドもあったと思う)の方が正しい。

もう一つ関係無い事を書いとくと意味的にはNULLはポインタであり、memset/NULLよりmemset/0の方が正しい。
636デフォルトの名無しさん:2006/08/28(月) 11:17:42
「AnsiStringがNULL」って表現が気になるのは重箱の隅?
637デフォルトの名無しさん:2006/08/28(月) 13:34:33
null
638デフォルトの名無しさん:2006/08/28(月) 13:38:28
ぬるぽ
639デフォルトの名無しさん:2006/08/28(月) 22:01:26
つーか、構造体をmemsetで初期化ってのは、Cまでの話、と考えたほうがいいんじゃね?
640デフォルトの名無しさん:2006/08/28(月) 23:33:06
せっかく構造体でもコンストラクタ使えるのにな
641デフォルトの名無しさん:2006/08/29(火) 00:01:47
コンストラクタ使った時点でPODではなくなり、クラスに
なってしまわないか?
642デフォルトの名無しさん:2006/08/29(火) 01:20:37
unionのメンバーにもできなくなるしな。
643デフォルトの名無しさん:2006/08/29(火) 01:39:10
>638
ガッガッガッガッガッガッガッガッガッガッ
644デフォルトの名無しさん:2006/08/29(火) 17:58:56
paradoxデータベースを使って俺のチラシの裏ソフト作ってるんですが、
書式付きメモ型のデータフィールドは検索できないのですか?
paradox固有の限界ですか?
それともデータベースはBLOBデータは検索してくれないという事ですか?
645デフォルトの名無しさん:2006/08/29(火) 20:28:53
>>644
うるっせーな何回聞けば気が済むんだカス。
誰も答えてないからこれ以上質問すんな。マルチもするな。
646644:2006/08/30(水) 04:07:59
>>645
あり^^
647デフォルトの名無しさん:2006/08/31(木) 20:59:25
TDBGridの任意の行を削除(データベースには変更を加えない)するにはどうしたら良いですしょうか?
648デフォルトの名無しさん:2006/08/31(木) 21:02:57
>>647
つか、どのデータセット使ってんのかな・・・
それ書いてくんないとな・・
なんか、解決するまで、10往復ぐらいしそうだな・・
面倒くせぇ。
649647:2006/09/01(金) 02:10:20
TQueryです^∀^
650デフォルトの名無しさん:2006/09/02(土) 03:26:07
キャッシュドアップデートしかないだろ。
http://piza.2ch.net/log/prog/kako/952/952393436.html
http://su10.sgu.ac.jp/~morita/Seminar/6thStudent/siohara/cachedupdate.html
このへんとか読め。
651647:2006/09/02(土) 08:25:58
>>650
消したいレコードをFilterプロパティにFieldByNameで一意のキーコードをNOTで書き足してやれば
消せる事が判明しました事を報告しておきます。

情報ありがとうございました。
652デフォルトの名無しさん:2006/09/04(月) 15:35:39
質問させてください。

下の様なプロジェクトがあり、
Project1.Unit1からProject2.Unit2を呼び出す場合(.Show)、どの様なコード、又はを書けばよいのでしょうか?

超初心者スレで質問した際、フック、メッセージ、プロセスを使わなければ出来ない、と聞きました。
もう少し詳しい流れだけでもご存知の方いましたら教えていただきたい!

#include "Unit3.h"をしただけでは「未解決の外部参照'_Form2'がC:\\~~から参照されました。」とエラーが出てしまいます。

ProjectGroup1
+-Project1.exe
|├Project1.cpp
|├Project1.res
|+-Unit1.cpp
|├Unit1.cpp
|├Unit1.dfm
|└Unit1.h
+-Project2.exe
├Project2.cpp
├Project2.res
+-Unit2.cpp
├Unit2.cpp
├Unit2.dfm
└Unit2.h
653デフォルトの名無しさん:2006/09/04(月) 16:41:55
Unit3.hがねーのに未解決の外部参照_Form2が出るわけねーだろ!
フックメッセージプロセスでググレカス

Form2つじゃダメなのか?
根本的に分かってないような希ガス。

超初心者板に(・∀・)カエレ!!
654652:2006/09/04(月) 17:07:05
(・∀・)<・・・
×Unit3.h
○Unit2.h

更には
exe二つではなく、
Pj1.exe
Pj2.dll
でした。

pj1.exe内のフォームから、手作りDLLのpj2.dll内の関数を呼ぶにはどうすればいいのか?
オプションのリンカ等のプロパティ設定で解決するものなのか否か・・・。
655デフォルトの名無しさん:2006/09/04(月) 17:49:14
話が違うじゃねーか!
656デフォルトの名無しさん:2006/09/04(月) 18:01:26
Unit2の関数を呼び出すのと、Unit2内のTForm2のメソッドを呼び出すのでは全く話が違ってくるのだが。

>オプションのリンカ等のプロパティ設定で解決するものなのか否か・・・。
それは関係ない。
657デフォルトの名無しさん:2006/09/04(月) 18:01:56
>>655
pj2.dllをIMPLIBに掛けて、吐いたLIBをリンクしろ。
658デフォルトの名無しさん:2006/09/04(月) 18:02:34
まちごた
×
>>655
○654
659デフォルトの名無しさん:2006/09/04(月) 19:58:13
>>652
単にDLLの呼び方がわからないってことじゃん。
自分が何がわからないのかをわかっていないな。
レベル的には超初心者だな。
DLLの使い方をググるなりして勉強すれ。
660デフォルトの名無しさん:2006/09/04(月) 20:13:26
カットシステム Vol2をお薦めする。
661デフォルトの名無しさん:2006/09/05(火) 05:58:00
現在Delphi使いですが、これからC++Builderの学習をしようと思っています。
Delphiでは「Delphi 6 プログラミングバイブル」という名著がありますが、
これに匹敵するC++Builderの良い参考書はないでしょうか?
ご教授をよろしくお願いいたします。
662デフォルトの名無しさん:2006/09/05(火) 07:47:34
>>661
>>660のカットシステムのシリーズしかない。
むしろDelphi使えるんならあえてBuilder本は必要ない。
EffectiveCとかSTL本とかC言語辞典とかそいうC言語関連書籍をお薦めする。
Delphiと違ってC言語は覚えておいた方が良いことが多すぎ。
ソースの記述方法も人によって全然変わってくる。
663デフォルトの名無しさん:2006/09/06(水) 08:42:06
新しい TurboC++ Explorerを使ってみた感想
(オレは昔のC++Builderしか知らないし、
まだ2時間も使ってないから、かなり間違ってるかもしれん。)

コードエディタの機能には
ifやforを入力するだけで自動的に残りが生成される。
あるコードを選択して”囲む”をすると、forやtry文などを作れる。
ブロックの自動補完 折りたたみ などがあった

リファクタリングは名前の変更だけのようだ

操作方法はほとんど変わってない

コンポーネント数は多いが
ExplorerではIndyは無いみたいだ。
ActiveXは作れない
サードパーティーのコンポーネントは追加できない

新しいコンポーネントは
TTrayIcon  TGridPanel  TFlowPanel らしい

しかし、実際に使った感じはかなり好印象を持った
(あまり期待してなかったからかも知れないが)

コードエディタの機能は気に入ったよ

http://www.turboexplorer.com/homepage
664デフォルトの名無しさん:2006/09/06(水) 11:50:48
VBのChrやAscのように
Asc("あ") だと -32096
Chr(-32096) だと"あ"を返す文字変換関数ってBCBで作れますか?
665デフォルトの名無しさん:2006/09/06(水) 12:30:20
>>664
つくれます
666デフォルトの名無しさん:2006/09/06(水) 13:35:14
どなたか、テンプレに入ってた
<<有料>>
TMS Component Studio
http://www.tmssoftware.com/
の、StringGrid、ColumnGridに詳しい人or日本語サイト知ってる方いませんか?
ぐぐってもろくに出てこない・・・。
ヘルプがうんこすぎて、何も説明が書いてないメンバありまくりで困っています。
667デフォルトの名無しさん:2006/09/06(水) 16:54:44
Turbo C++のPascalコンパイラはまだまだだな
内部エラーが出るpasファイルが出まくる。
668デフォルトの名無しさん:2006/09/06(水) 19:25:25
Turbo C++入れてみたんですけど
VCLフォームアプリケーションとSDI・MDIフォームアプリケーションの違いって何ですか?
669デフォルトの名無しさん:2006/09/06(水) 19:29:43
ttp://pc8.2ch.net/test/read.cgi/tech/1144308804/ くだすれC++Builder(超初心者用)その2
670デフォルトの名無しさん:2006/09/06(水) 20:02:56
仕事の都合で VC++ .NET 2003 でコンパイルできてたのを
Borland C++ Builder 5.0 でコンパイルできるようにすることになりまつた。
でも、SSE,SSE2の命令をつかっていて、そこでアセンブルできなくて死にそうです。
Borland C++ Builder 5.0で SSE2 の命令が通るようになる方法は
あるでしょうか?

よろしくおねがいいたします。


671デフォルトの名無しさん:2006/09/06(水) 21:29:13
TMediaPlayerでogg形式の圧縮音楽ファイルを再生する方法を指南下さい。
672本田:2006/09/06(水) 22:50:18
>>670
>The Netwide Assembler
http://sourceforge.net/projects/nasm

nasmってアッセンプラーがあるけど。
673デフォルトの名無しさん:2006/09/06(水) 23:12:35
てかBCBにTASMのマニュアルがないのは‥‥
674デフォルトの名無しさん:2006/09/07(木) 04:37:02
>>672
ありがとうございます。
NASMとの組み合わせでは、インラインアセンブラはできないみたいです。
厳しい・・・

675デフォルトの名無しさん:2006/09/07(木) 04:58:15
paradoxでTQueryなんですが、
SQLのWHERE句と、Filterプロパティの同時利用は出来ないのですか?
676デフォルトの名無しさん:2006/09/07(木) 05:15:19
>>663
677デフォルトの名無しさん:2006/09/07(木) 05:17:16
>>666
こんなのあったんだ
Office2007風のコンポとかあるし
わー、すげえw
678デフォルトの名無しさん:2006/09/07(木) 07:52:32
見た目なんて飾りです偉い人にはそれが分からんのです
679デフォルトの名無しさん:2006/09/07(木) 09:20:30
結局なんだ
Turboシリーズ複数言語を同時インストールできないと
Delphiも使いたいヤツはBDS買えと
そういうことですか
それにしてはUpgrade価格28000円はBDSの時の値段考えると……
680デフォルトの名無しさん:2006/09/07(木) 10:00:44
>>679
そうですどう考えてもボッています
681デフォルトの名無しさん:2006/09/07(木) 11:36:09
やってしもうた・・・
VS2003→VS2005に完全移行
VS2003をアンインストールしてから気がついた
.NET1.x向けアプリのメンテができないってどういうことよ('A`)
こんな別物なら製品名変えてくれよも後の祭りorz
682デフォルトの名無しさん:2006/09/07(木) 13:46:24
>>681
馬鹿?
当分の間、古い開発環境も残すのは常識じゃん。
683デフォルトの名無しさん:2006/09/07(木) 13:58:27
V$系はバージョン違いを共存できないっしょ。
684デフォルトの名無しさん:2006/09/07(木) 14:24:58
>>683
超阿呆の馬鹿?
http://msdn2.microsoft.com/ja-jp/library/ms246609.aspx
>複数バージョンの Visual Studio のインストール
>Visual Studio 6.0、
>Visual Studio .NET 2002、
>Visual Studio .NET 2003、および
>Visual Studio 2005 を同じコンピュータにインストールすることがサポートされています。
685デフォルトの名無しさん:2006/09/07(木) 14:42:10
>>684
超阿呆の馬鹿?

現実には競合起すよ。
686デフォルトの名無しさん:2006/09/07(木) 14:50:07
>>681
コピペウザイ
687デフォルトの名無しさん:2006/09/07(木) 17:12:47
>>670
すでにSSE/SSE2処理関数が完成してて今後メンテナンスする必要がないのなら、応急処置として __emit を使う手もある。
簡単に言うとasm文の中に任意のバイナリコード(アセンブル後のコード)を埋め込んでしまう方法。

でも自分ならSSE/SSE2処理関数をDLLに追い出してVC++でコンパイルするかな。
(VisualC++ 2005 Express Editionなら無料だし)
688デフォルトの名無しさん:2006/09/07(木) 17:23:08
>>681
古い開発環境はVMwareやVirtual PC使ってまるごと保存管理するといいよ。
689本田:2006/09/08(金) 01:22:23
>>674
> >>672
> ありがとうございます。
> NASMとの組み合わせでは、インラインアセンブラはできないみたいです。
> 厳しい・・・

インラインアッセンプラを使ってる所から、
SSE,SSE2のニーモニックコードを削除して、
コンパイルできるようにして、
アッセンブリ言語を出力する。

出力されたアッセンブリ言語に、
SSE、SSE2ニーモニックコードを加える、
それをNASMでアッセンブルする。
690デフォルトの名無しさん:2006/09/08(金) 01:34:45
-Eでmasmなりを指定しても良さそうだし
適当なところに asm include mymacros.inc みたいな感じでも
出来そうな気がするけど。

masmを代替アセンブラとして使えるように
アセンブラ出力に ifdef ??version とかが入ってるわけだし。
691デフォルトの名無しさん:2006/09/09(土) 01:30:51
よーわからん、ターボ君は無料?
で、boost使えますか? BCB6なんだが、安いなら自宅用に買うかな
692デフォルトの名無しさん:2006/09/09(土) 01:44:00
693デフォルトの名無しさん:2006/09/09(土) 09:34:20
BCBからのバージョンアップは28,000円か
694デフォルトの名無しさん:2006/09/09(土) 10:01:10
BCBからBDSへは29800円でしたw
695デフォルトの名無しさん:2006/09/09(土) 10:28:38
paradox7なんですが、フィールド名に「1個目」ってのを使ったら
SQLの問合せで不具合を生じて困ってます。

SELECT 1個目 FROM mytable;

で、結果が
個目
1
1
1
1
1
1
1
ってなってしまいます。
ちゃんと1個目として認識させるにはどうしたらいいのでしょうか?
696デフォルトの名無しさん:2006/09/09(土) 10:58:25
>695
SQLの基礎からやり直してきてください
http://pc8.2ch.net/db/
697695:2006/09/09(土) 11:50:52
わかりません><
698デフォルトの名無しさん:2006/09/09(土) 12:06:17
本屋で入門でも買えよ
699デフォルトの名無しさん:2006/09/09(土) 12:30:33
意地悪><。
700デフォルトの名無しさん:2006/09/09(土) 12:58:47
>>692
サンクス、まず家でやって会社で提案かな〜〜
701デフォルトの名無しさん:2006/09/09(土) 14:05:55
>>695
SQLはよく知らんが別に結果はそれでいいんじゃないのか?
702695:2006/09/09(土) 15:41:37
もういいです。><
フィールド名変えました
703デフォルトの名無しさん:2006/09/09(土) 16:19:18
ネーミングセンスもプログラミングセンスもない香具師だな
704デフォルトの名無しさん:2006/09/09(土) 17:13:09
フィールド名って最初に数字来てもいいんだっけか?
705デフォルトの名無しさん:2006/09/09(土) 20:54:19
みんなフィールド名って言うんだな。
ややこしいからカラムで良いじゃん。
706デフォルトの名無しさん:2006/09/09(土) 21:45:21
列名
707477:2006/09/10(日) 02:46:06
超初歩的で申し訳ないのですが原因が良く分からないので・・(一部省略してます)
[HogeClass.h]
#ifndef HogeClassH
#define HogeClassH
//---------------------------------------------------------------------------
class Hoge{
private:
public:
Hoge( void );
~Hoge( void );
}

[HogeClass.cpp]
//---------------------------------------------------------------------------
#include <vcl.h>
#include "HogeClass.h"
//---------------------------------------------------------------------------
Hoge::Hoge( void )
{
}
Hoge::~Hoge( void )
{
}

コンパイルするとHoge::Hoge( void )のコンストラクタの行で
[C++ エラー] HogeClass.cpp(10): E2111 ここでは型 'Hoge' は定義できない
[C++ エラー] HogeClass.cpp(10): E2136 コンストラクタには戻り型は指定できない
と怒られるのですが、何故なのでしょうか・・orz
708デフォルトの名無しさん:2006/09/10(日) 02:46:39
失礼、名前欄は無視して下さい
709デフォルトの名無しさん:2006/09/10(日) 03:00:27
void 全部消してごらん
710デフォルトの名無しさん:2006/09/10(日) 03:01:13
あとヘッダ側の最後の}の後ろに;がないな
711デフォルトの名無しさん:2006/09/10(日) 03:10:28
>>709-710
ヘッダの最後の;が抜けていたのが原因だったようです
ありがとうございました
712デフォルトの名無しさん:2006/09/10(日) 08:57:28
メインスレッドから生成したTThreadのクラスに値を渡すのと
TThreadのクラスからメインスレッドへ値を返すには具体的にどのようにやればいいのでしょうか?

現在はメインスレッドにpublic変数を定義してTThreadのクラスから参照していますが
よくないやり方のような気がしてならないのです
713デフォルトの名無しさん:2006/09/10(日) 11:18:54
>>712
TThreadを継承したクラスを作ってるはずだからそっちに受け渡し用のメンバ関数を作ればいい。
べつにメイン側にメンバ関数を作ってもいいと思うが。

言うまでもないと思うがスレッド間の同期には気をつけるように。
714デフォルトの名無しさん:2006/09/10(日) 14:59:22
>>713
レスありがとうございます
試行錯誤してみます
715デフォルトの名無しさん:2006/09/10(日) 18:05:45
SAFE_DELETE()が定義されていない関数と言われるのですが
何かinclude必要なものありましたっけ?
716デフォルトの名無しさん:2006/09/10(日) 18:40:05
>>715
誤爆?
717デフォルトの名無しさん:2006/09/10(日) 23:39:29
SAFE_DELETE()が定義されていない関数と言われるのですが
何かinclude必要なものありましたっけ?
718デフォルトの名無しさん:2006/09/11(月) 00:23:05
719デフォルトの名無しさん:2006/09/11(月) 00:24:32
全く参考になるサイトがありませんね
720デフォルトの名無しさん:2006/09/11(月) 01:28:18
一目瞭然ですけど。
721デフォルトの名無しさん:2006/09/11(月) 04:10:35

 Turbo C++ は、
Borland Developer Studio 2006 Professionalの
C++Builder2006とほぼ同等の機能を持つBorland(DevCo)の新製品


TurboC++についてBorlandの説明サイト
http://bdn.borland.com/ja/article/33666

C++Builder2006の新機能
http://www.borland.com/resources/jp/pdf/white_papers/whats_new_bcb2006_ja.pdf

Turboのブランド復活
http://www.itmedia.co.jp/enterprise/articles/0608/08/news056.html

TurboC++ 機能一覧pdf
http://www.turboexplorer.com/files/jp/turbocpp_features.pdf

Turbo Explorerは、下記Webサイトからダウンロードして入手のほか、
雑誌や書籍等の付録CD-ROMとしても提供する計画とか。
Turbo Professionalは、9月19日より出荷を開始予定。

http://www.turboexplorer.com/jp/
http://www.borland.com/downloads/download_turbo.html

722デフォルトの名無しさん:2006/09/11(月) 15:48:16
ほぼ同等の機能を持つモノの単身が28000円
は高杉なんすけど
一度BDS2006であの値段出してるんだから
UGは2万円以下にすべき
俺は買わんぞ
723デフォルトの名無しさん:2006/09/11(月) 19:14:28
BDSの方がお買い得ですかね?
724デフォルトの名無しさん:2006/09/11(月) 19:26:12
正確に言えば、6月までのBDS優待販売が一番お得だった

今のTurbo Proの値段見たら、Highlanderの発売を待つよな
725デフォルトの名無しさん:2006/09/12(火) 01:18:30
もともとサードパーティーのコンポーネントは使わないんだよなー
そうすると無償版で十分
726デフォルトの名無しさん:2006/09/12(火) 01:27:36
自作コンポも使えないじゃん。
727デフォルトの名無しさん:2006/09/12(火) 01:53:38
自作コンポも使わんよ
728デフォルトの名無しさん:2006/09/12(火) 16:09:56
どうでもいいけど、テンプレにある
<<有料>>
TMS Component Studio
http://www.tmssoftware.com/

TAdvStringGrid,TAdvColumnGridは100万行・列まで対応してるらしいぜ!
自pcで試したら、メモリ不足って言われてメイクで落ちたが・・・orz
729デフォルトの名無しさん:2006/09/12(火) 20:30:19
Turboも使わんよ
730デフォルトの名無しさん:2006/09/12(火) 22:02:22
BDS2006あるからね。
731デフォルトの名無しさん:2006/09/13(水) 01:48:48
1行レスの低能アンチさん達乙
Borlandスレのアンチにソックリだが、まさかそこから来たんじゃないよな  ま、思考方法が同じなんだと思う
もうちょっと中身のある文章書いた方が利口に見えると思うよ
732デフォルトの名無しさん:2006/09/13(水) 06:21:55
AnsiStringのメンバ関数「Format」の使い方がわかりません。
すみませんが、教えていただけないでしょうか?

また、このような基本的な事は、どのように調べたらよいのでしょう?
(オンラインヘルプでは意味不明なのですが、ふつうそれで
理解できるものなのですか)
733デフォルトの名無しさん:2006/09/13(水) 07:32:58
>>732
ヘルプだけで、わかる人にはわかる。
734デフォルトの名無しさん:2006/09/13(水) 15:31:48
>>732
BCB Format でググればいろいろ出てくる。
とりあえず、C/C++屋はAnsiString.spirntf()の方を使えばよい。
735デフォルトの名無しさん:2006/09/13(水) 22:02:25
>>731 おまえは3行書いても中身がないな
736デフォルトの名無しさん:2006/09/13(水) 22:48:40
でも735は731の3分の1の内容も無いからなぁ。
737デフォルトの名無しさん:2006/09/13(水) 23:14:36
ゼロの3分の1でもゼロだから、いっしょ
738デフォルトの名無しさん:2006/09/14(木) 05:11:05
>>735
wwwwww
ワロタwwまた見事に1行レスだよwww
これでオマエがどうして低能って言葉に骨髄反射しちゃう人間なのか 良くわかっちゃたwwwwwww

>おまえは3行書いても中身がないな
いやいや、他人に事実を指摘してあげることは、中身のあることだよ 何を言ってるの?www大丈夫?
 
リアルで低能なチンカス だったんだね ホントにかわいそうw
739デフォルトの名無しさん:2006/09/14(木) 06:24:51
うまく切り返したつもりで、自分がゼロって認めちゃった人がいるね。
740デフォルトの名無しさん:2006/09/14(木) 09:57:19
>>731 はゼロでも3行書いてる分、アホさも3倍だよね
741デフォルトの名無しさん:2006/09/14(木) 10:01:58
 __     __       n     _____  _____     ___ ___    ___
 |   |    /  /      / /    /       | /__  __/ [][] _| |_| |__ _| |_
 |   |.   /  /    /⌒ヽ/     /   / ̄ ̄|. l    / /     |    _  | |_  レ'~ ̄|
 |   |  /  /    ( ^ω^ )    /   /.  / /    |  |___      ̄|  | / / /   /| |
 |   |  /  /     ノ/ /  ノ   /    ̄ ̄ /     \__|     |  |  ̄ /_  /  | |_
 |   |. /  /   // / ノ     /   / ̄ ̄ ̄                |_|     |__|   \/
 |   |/  /  ⊂( し'./    /   /  
 |.     /     | ノ'      /   /                     ニュー速VIP
 |    /.     し'      ./   /                  http://ex14.2ch.net/news4vip/
  ̄ ̄ ̄              ̄ ̄
742デフォルトの名無しさん:2006/09/15(金) 00:12:20
相談するだけで叩かれるのを承知でお尋ねします。

*Value++ と (*Value)++は
どう違うんでしょうか?
743デフォルトの名無しさん:2006/09/15(金) 00:15:28
>>742
括弧の有る無しが違う。
744デフォルトの名無しさん:2006/09/15(金) 00:32:21
void Loop(int *Value,bool flag)
{
if (true) *Value++; else *Value--;
*value=0;
}
をi=0;Loop(&i,true);で呼び出してみ?
745デフォルトの名無しさん:2006/09/15(金) 00:37:02
あ、引数flag関係なかった。
void Loop(int *Value);だけでいいや。
746デフォルトの名無しさん:2006/09/15(金) 00:56:07
>>742
まあ、基本的に、
*Value++
なんて他の人がわかりづらいかもしれないコードは書いちゃだめだよな
747デフォルトの名無しさん:2006/09/15(金) 01:21:19
なんとなく、ストアと同時にインデックスレジスタをインクリメントしてくれる気がするから
*p++ という表現は嫌いじゃないな。
748デフォルトの名無しさん:2006/09/15(金) 03:03:45
void strcpy(char *src, char *dst)
{
while(*dst++ = *src++);
}
749デフォルトの名無しさん:2006/09/15(金) 03:21:18
バッファオーバーラン一直線
750デフォルトの名無しさん:2006/09/15(金) 08:55:21
>>748
コピー先とコピー元が標準と逆だろ〜
751デフォルトの名無しさん:2006/09/15(金) 10:20:31
>>748
これってどうなったらwhileから抜けるの?
752デフォルトの名無しさん:2006/09/15(金) 12:28:16
>>751
あのwhile文を意訳すると、
 if ( 偶然一致 || GPフォルト )
という文になる。
753デフォルトの名無しさん:2006/09/15(金) 13:36:59
>>752
アレ?代入って偽になることあるんですか?
754デフォルトの名無しさん:2006/09/15(金) 13:48:05
偶然一致って?
評価されるのは *dst でこいつが0(偽)になったら終了っていいうループでないの?
755デフォルトの名無しさん:2006/09/15(金) 13:51:11
結局、
*Value++
なんて書くと混乱させまくるということが証明されちゃったなw
756デフォルトの名無しさん:2006/09/15(金) 14:32:13
>>748
これ、K&R(これが発祥地だが)でも禿本でも普通に使われているんだよな。
わかってる人間にとっては簡潔で可読性の高い表記なんだ.が。

>>753
代入式は代入後の左辺値が評価される
これが分からないと

void __fastcall TForm1::Button1Click(TObject *Sender) {
 if ( TButton* p = dynamic_cast<TButton*>( Sender ) { ... }
}

こういうBCBの定石も使えない
757デフォルトの名無しさん:2006/09/15(金) 15:18:05
エラー E2377: If文に ) がない(関数 _fastcall TForm1::Button1Click(TObje
ct *) )
758デフォルトの名無しさん:2006/09/15(金) 15:32:53
>>751
NULL文字をコピーした時点。(文字列をコピーし終わったら)
>>748の場合、whileで評価されるのは *dst
NULL文字は0x00だから、falseになる。
759デフォルトの名無しさん:2006/09/15(金) 18:34:43
ポインタ以外にNULLという表現を使うなんちゃって野郎が居るから
初心者がさらに混乱する
760デフォルトの名無しさん:2006/09/15(金) 19:41:40
NULL(ぬるぽ) と '\0'(ぬるこーど) の違いを分かってない香具師多いよね

っつーか「ぬる」っつーのも誤読だ死ね
761デフォルトの名無しさん:2006/09/15(金) 19:59:49
>>760
ポインタを値と考えると、NULLは0以外のなにものでもないから、あながち間違いでもないけどな
762デフォルトの名無しさん:2006/09/15(金) 20:00:04
VC6でDLLを作成してそれをC++Builder4で使おうとしています。
色々調べたのですが、まずは簡単な

変数:nPCLIB
関数:fnPCLIB()

関数と変数が入ったDLLを作ろうと思い、次のことを試しました。

1.VCでDLLを作成

  ・作ったDLLのdumpbin結果
    1 0 00001005 ?fnPCLIB@@YAHXZ
   2 1 00032A78 ?nPCLIB@@3HA

    →修飾された関数・変数名がEXPORTされている

2.impdefで1.で作ったdllからdefファイルを作成する
 
 ・defの中身を見ると

  LIBRARY PCLIB.DLL

  EXPORTS
  ?fnPCLIB@@YAHXZ @1
   ?nPCLIB@@3HA @2

  →当然defファイルを作るとDLLと同様に修飾されている
763デフォルトの名無しさん:2006/09/15(金) 20:00:28
3.defファイルの修飾を外してVCに追加し、DLLを再ビルドする

・defの中身(修正後)
  LIBRARY PCLIB.DLL

  EXPORTS
  fnPCLIB   ←修飾を外したつもり
  nPCLIB

・新DLLのdumplib結果
  1 0 00001005 fnPCLIB
 2 1 00032A78 nPCLIB

   →修飾が外れているように見える

4.implibで3.のdllからBuilder用のlibファイルを作る

 ちなみに3.のdllからもう一度defを作ると、中身は

 LIBRARY PCLIB.DLL

 EXPORTS
 fnPCLIB @1
 nPCLIB @2

  →??また修飾(序数)がついてる??
764デフォルトの名無しさん:2006/09/15(金) 20:01:10
5.Builderでヘッダーをincludeし、3.のdllをコピーしてきて、
  4.のlibファイルをプロジェクトに追加してビルドする

ヘッダーの中身
 #ifdef PCLIB_EXPORTS
 #define PCLIB_API __declspec(dllexport)
 #else
 #define PCLIB_API __declspec(dllimport)
 #endif

 extern PCLIB_API int nPCLIB;
 PCLIB_API int fnPCLIB(void);

→名前解決ができていない!と怒られる

DLL内の関数名が修飾されたままで一致しないのが原因かと思っているのですが、
defファイルを直してもまた戻ってしまうようでどうすればよいか行き詰ってしまいました。

長い上に詳しい方から見ればアホな質問かもしれませんが、ずっと悩んでます。
ヒントでもいただければとてもうれしいです。
765デフォルトの名無しさん:2006/09/15(金) 20:38:37
>>761
http://www.kouno.jp/home/c_faq/c5.html#4
> NULLはポインターとしてのみ使うべきである。
766デフォルトの名無しさん:2006/09/15(金) 20:53:46
「だから何なのか」を書かないのは
無関係な引用でハッタリかます時の基本だね。
767デフォルトの名無しさん:2006/09/15(金) 21:57:38
だから何なのか
768デフォルトの名無しさん:2006/09/15(金) 22:03:36
だから「バカは有名なC FAQすら知らない」ということがわかる。

>>764
extern "C" とimplib(必要なら-a付き)じゃ駄目なのか?
769デフォルトの名無しさん:2006/09/15(金) 22:07:04
何がだからなのか
770デフォルトの名無しさん:2006/09/15(金) 22:15:37
それがどうしたの?
771デフォルトの名無しさん:2006/09/15(金) 22:19:12
いやまあ、バカがバカさ加減を晒すのは自由だしね。
ここは2chだし。
772デフォルトの名無しさん:2006/09/15(金) 22:19:54
こうしたの。
773デフォルトの名無しさん:2006/09/16(土) 00:04:32
>>765
それはNULLマクロを、ポインタ以外へ使うなって事でしょ。
"NULL文字"って言葉を使うなって意味じゃないよ。
'\0'の、一般的な呼び方だよ。
774デフォルトの名無しさん:2006/09/16(土) 00:43:28
その"NULL文字"って言葉を使っているのが、「わかってない証拠」だよ。
'\0'はNULであって、NULLではないよ。
775デフォルトの名無しさん:2006/09/16(土) 00:47:21

なんで ぬるぽ のことになるとみんなむきになるのかな
776デフォルトの名無しさん:2006/09/16(土) 00:48:22
777デフォルトの名無しさん:2006/09/16(土) 00:49:07
char *p;

p = NULL; // OK
p = '\0'; // bad

*p = '\0'; // OK
*p = NULL; // bad
778デフォルトの名無しさん:2006/09/16(土) 02:33:54
>>775
宗教論争はどさくさ紛れに馬鹿でもそれっぽく参加できるからね。
779デフォルトの名無しさん:2006/09/16(土) 03:41:16
NULLに関しては宗教論争じゃなくて、理解しているかいないかの違いだけだがな。
780デフォルトの名無しさん:2006/09/16(土) 04:06:54
C++ビルダー6でさ、XP風のボタンにすることできますか?
デフォでは四角い3Dボタンじゃなく、白くてカーソル当てたら周りがオレンジになるボタン
Jediコンポーネントはあるが、ボタンのためにEXEがでかくなりすぎる
そのまんまのBCB6でできるのかな?
781デフォルトの名無しさん:2006/09/16(土) 13:24:38
>>779
うん、そういう「設定」で参入してるんだろうなぁってのは容易に想像がつく。
782デフォルトの名無しさん:2006/09/16(土) 17:13:55
↑こういうのを、どさくさ紛れに参加してる馬鹿って言うんだよね。
783デフォルトの名無しさん:2006/09/16(土) 18:44:51
↑こういうのもね
784デフォルトの名無しさん:2006/09/16(土) 20:07:13
C++Builder 6 アップデートパック #4
http://support.borland.com/entry.jspa?externalID=4322&categoryID=90
を入れようと数日前からずっとアクセスしているのだが
ftp server が落ちていて、全く繋がらない。
誰か、他に落とせる場所知らない?
785デフォルトの名無しさん:2006/09/17(日) 10:36:27
>>784
昨日マシンの再セットアップをしたけど、こっちからは問題なく落とせたよ。
ttp://www.borland.com/downloads/registered/download_cbuilder.html
786デフォルトの名無しさん:2006/09/18(月) 02:50:05
>>777
本来はその通りなんだよね。
 ・NULLは空の意味(内部表現で値0を使う)
 ・\0は全bitが0のコード
 ・0は整数値としてのゼロ
C言語を高級アセンブラとしてしか見ない人には
意味的にも、NULLと\0と0は一緒だとしてしまう。
787デフォルトの名無しさん:2006/09/18(月) 03:27:12
>>786
むしろ、C言語を高級アセンブラとしても見られる人が、
意味的にも、NULLと\0と0は一緒だと思うことができている、だと思うんだが。
難易度はそっちのほうが難しいし。

そーゆー、学習しづらい値と参照の境界をわかりやすくすっぱり分けたのがJAVAとかだろ。
788デフォルトの名無しさん:2006/09/18(月) 03:50:51
どう見ても、区別がついてない人が暴れていただけです。
連休だしね。
789デフォルトの名無しさん:2006/09/18(月) 11:01:25
 結局、NULLと¥0と0は同じものって結論なの?
¥0と0はメモリーブロックにあり0x00て値が入っているってことでなんとなく
納得がいきそうだけど、NULLはどうなの?メモリーに存在しているの?関数とかで該当があれば該当があるポインタを返し、なければNULLを返すってものがあるからNULLって数値(ポインタ)がありNULLが指す値がありそうな気がするけど。
790デフォルトの名無しさん:2006/09/18(月) 11:10:12
789続き
>>777
 の方法で(pはint型だからp='¥0' ’char型’だから代入できない)
  p=0;
printf("%c",*p);
  p=NULL;
printf("%c",*p);

はコンパイルできないで、わかる人だれか押しえてください。
791デフォルトの名無しさん:2006/09/18(月) 12:07:28
そういえばNULLって使ったことないや。
792デフォルトの名無しさん:2006/09/18(月) 13:27:03
#define NULL <either 0, 0L, or (void *)0> [0 in C++]

どう見ても宗教論争です。本当に有り難うございました。
793デフォルトの名無しさん:2006/09/18(月) 13:40:36
>>790
コンパイルは余裕で通る
794デフォルトの名無しさん:2006/09/18(月) 13:42:42
論争中もうしわけないんですが、VirtualTreeViewがgemから落とせません。
なくなってしまったのでしょうか?
795デフォルトの名無しさん:2006/09/18(月) 17:47:23
どいつもちゃんと回答できないようだね。
知ったかぶりして毒はいてるだけじゃん。
*p++と(*p++)の違いが、説明できてない。
VCだと変わんないんだよ実際。
796デフォルトの名無しさん:2006/09/18(月) 18:02:44
>>795
皆わかってるから。出しゃばんなさんな厨。
797デフォルトの名無しさん:2006/09/18(月) 18:02:59
>>795
他のでもかわらんのけ?
798デフォルトの名無しさん:2006/09/18(月) 18:03:32
>>795
>*p++と(*p++)の違いが、説明できてない。

誰もそんなこと問題にしていない
799デフォルトの名無しさん:2006/09/18(月) 18:17:16
いや、ちょっとまて
>*p++と(*p++)の違い
違わんだろ、これはw
800デフォルトの名無しさん:2006/09/18(月) 18:18:37
吹いた
801デフォルトの名無しさん:2006/09/18(月) 18:20:46
>>795
*(p++) ≠ (*p)++
802デフォルトの名無しさん:2006/09/18(月) 18:29:49
要するにBCBだと違うと言いたいのだろう。
803795:2006/09/18(月) 18:34:14
>799
すまん間違えた。
(*p)++だ
804デフォルトの名無しさん:2006/09/18(月) 18:36:25
一瞬、「NULLと'\0'の違いなんて、*p++と(*p++)の違いと同じ」と言ってるのかと思ったが
本当にろくな知識がないまま適当なこと言ってバカ晒してるだけみたいだね。
805795:2006/09/18(月) 18:36:40
後、終わってることに気付かなかったね。
すまん>>796-803
806795:2006/09/18(月) 18:38:28
>>804
俺が悪かったから、もう勘弁してくれ。
ただ、ちゃんと説明しろよ。
807デフォルトの名無しさん:2006/09/18(月) 18:42:29
たとえ*p++と(*p)++が違うということを言っているのだとしても
そんなのNULLと全然関係ないんですけど。

どういう思考回路でそんな話になるのか理解できないね。
とりあえずC FAQを一通り読んでから、偉そうなこといいなよ。
808795:2006/09/18(月) 18:45:15
NULLの話なんて一切してませんけど?

809デフォルトの名無しさん:2006/09/18(月) 18:54:21
どっからその「誰もしていない*p++の話」が沸いて出たの?
810デフォルトの名無しさん:2006/09/18(月) 19:00:07
そりゃ、>>795の言うように*p++と(*p)++の違いなんて誰も説明出来てないよ。
だって誰も説明してないし。
何故なら誰も質問してないし、誰も話題に出してないから。

あ、もしかして>>806は、自身が質問してるの?
811795:2006/09/18(月) 19:01:25
>>742を実際にやってみて、おかしくなったから。
BDS2006です。BCB6とかはやってないけど。
んで、その後のレスがなんの解決にもなってなかったから。
んで、読み返して終わってるのに気付いて、805の発言。
ただ、解ってるんだったら、毒じゃなくてきちんと説明しろよと。
要するに毒吐いている奴は無知なくせに他人を攻撃してるだけ。

だから無知じゃないんだったらちゃんと説明できるでしょ?
812デフォルトの名無しさん:2006/09/18(月) 19:06:47
いや、それはさすがにどんな入門書にも書いてあるでしょうが、
前者は、Valueの中身を参照してから、Valueを+1する
後者はValueの中身を+1する

自分でもどれほどバカな質問か
つまり、ちょっと調べるだけですぐわかる質問である、ということを
わかっているみたいだけど
813デフォルトの名無しさん:2006/09/18(月) 19:08:26
一応、「ちゃんとここにも書いてあるよ」というのを示しておくよ。
http://www.kouno.jp/home/c_faq/c4.html#3
814デフォルトの名無しさん:2006/09/18(月) 19:09:17
>>811
すでに答えがあるじゃん>>801
これ見て意味がわからなかったら、それはC/C++を一から勉強しなおすしかない
それはスレ違いの話題だから続けるなら適当なスレに移動すべし
815795:2006/09/18(月) 19:16:09
>>812
待ってました。マトモな意見。
ただ、引数しか触ってないんですよね。代入文の右辺がp*++です。
>>744だと、
何故、条件文が無いと上手く動くのかも不明なんですけど。
trueもfalseも無視して、関数全体の記述が全て無効になるのかも。
816812:2006/09/18(月) 19:23:00
「まともな」って、おまえの頭、ほんとにお花畑だな。

794までの20レスくらいの流れのなかで、おまえが742だとわかる人が
おまえ以外に何人いると思ってるんだよ。
世界が自分中心に回ってるみたいでうらやましいよ。


自分がどんなコードを書いたか、どんな引数を渡したか
まだまだエスパー募集中ですか?
817デフォルトの名無しさん:2006/09/18(月) 19:32:26
「マトモな意見」と言うわりには、その「マトモな意見」の内容を
理解しようとはしないんだなw
818795:2006/09/18(月) 19:32:39
742じゃないんですけどね。

いや、ちゃんと答えようとしていた人があなただけだったんで。
実際には>>813のところを反芻して解ったんですけどね。
>>813の人ありがとうございました。

ここって相談とかする場所ですね?知識のない人を攻撃する場所
だと思ったんですが。
まぁ2Chってそういう場所だって事はわかってるけどね。
まぁ、他人を攻撃して優越感に浸りたいだけなんだろうが、
自己解決したんでもういいです。
819デフォルトの名無しさん:2006/09/18(月) 19:36:28
812がキチンと説明できてるとは到底思えぬ。
820デフォルトの名無しさん:2006/09/18(月) 19:37:36
あと、795も本嫁。
821812:2006/09/18(月) 19:39:40
一応書いとくけど、>>804>>810とか、もちろん>>813も俺だから。

たとえおまえが742本人でないとしても、
他の人には>>795>>742の関係なんか全然わからないのだから
おまえが「他の人には見えないものが見えている」のは間違いないよ。
822デフォルトの名無しさん:2006/09/18(月) 19:40:11
そもそもここはC++Builderの相談室なんだけどな
823795:2006/09/18(月) 19:48:51
解ったらもういいや。
はい、ごくろうさん。
824デフォルトの名無しさん:2006/09/18(月) 19:49:55
日頃の生活の中にプライドの満たされ所を一切持たないまぬけほど、
こういう場所でその分を取り返そうとして「絶対引かない」姿勢を見せるんですよ。
そうなったらもはや、スレの主旨なんておかましなしなわけです。
まぬけですからね。
825デフォルトの名無しさん:2006/09/18(月) 19:56:40
いや、ちょっとまて...
if (true) *i++; else *i--;
これ両方無視されるぞ?
iは使われてませんとか言われるし、やっぱり変じゃない?
826デフォルトの名無しさん:2006/09/18(月) 19:58:15
ほかの変数との絡みのない変数は使われていないも同然だからです。
827795:2006/09/18(月) 20:06:08
>>823
こういう輩もいるわけで...
812と813が同じ人だったらスミマセンでした。
828デフォルトの名無しさん:2006/09/18(月) 20:35:01
メソッド内でTStringListを使うとき
TStringList *HogeList = new TStringList()
try{
}
__finally{
delete HogeList;
}
という感じで記述しますが、
HogeListを同クラス内の各メソッド間で自由に参照するには
どこでどのように記述すれば良いのでしょうか?

ヘッダーのprivateでTStringList *HogeList;
クラスのコンストラクタでnew、デストラクタでdelete
適当なメソッド内でHogeListの操作を行うように記述してみた所
コンパイルは通るのですが、
実行するとHogeListを参照する所でEConvertErrorが発生しました。
829デフォルトの名無しさん:2006/09/18(月) 20:38:23
気になってやってみたけど、まぁやってみてよ。
>>742の人が書いている
>void Loop(int *Value,bool flag)
>{
>if (flag) *Value++; else *Value--;
>*value=0;
>}
をi=0;Loop(&i,true);で呼び出してみ?

で、ifの行を抜けば、0が帰る。
ifがあるおかげで、0も戻らないというのはどういう仕組みだ?
*value=0; はどこ行った?
まさか、変な事をした時点でreturnのコードを勝手に作るとか?
これって、>>826とか、*p++と(*p)++がどうとか関係ないよね。
830デフォルトの名無しさん:2006/09/18(月) 21:46:30
>>829
if文の行でポインタ自身の値がどうなるか
考えてみたか?
831デフォルトの名無しさん:2006/09/18(月) 21:53:11
>>829
結局>>812-813が全然理解できてないんじゃん
あ、また自称別人かw

なお、void Loop()に戻り値があるわけない
帰るとか戻るとか訳のわからんことを言うな
832デフォルトの名無しさん:2006/09/18(月) 22:21:51
結論としては、
他人が見る可能性のあるコードは、
十二部にかっこをつけるなりしてわかりやすいコードにしろということだな。
833デフォルトの名無しさん:2006/09/18(月) 22:36:21
十二部ってなに?
834デフォルトの名無しさん:2006/09/18(月) 22:44:55
十二分でした 失敬失敬
835デフォルトの名無しさん:2006/09/18(月) 23:17:16
そろそろ他所でやってくんない?
836デフォルトの名無しさん:2006/09/19(火) 00:47:33
>>828
そら
>実行するとHogeListを参照する所でEConvertErrorが発生しました。
そこんとこでだめなことしてるんでそ
わかんなきゃそこんとこのソースさらすこと
837デフォルトの名無しさん:2006/09/19(火) 16:20:57
>>836
大体こんな感じです
class Hoge{
private: TStringList *HogeList;
}
---
void Hoge::Hoge(){
TStringList *HogeList = new TStringList();
}
void Hoge::~Hoge(){
delete HogeList;
}
void Hoge::AddStr(){
HogeList->Add("TEST"); // ここで EConvertError, 「書式文字列"%s"は正しくないか引数の型と一致しません」
}

838デフォルトの名無しさん:2006/09/19(火) 16:37:02
HogeList->Add(AnsiString("TEST"));
839デフォルトの名無しさん:2006/09/19(火) 17:03:03
>>838
それでもやはり例外が出ました。
うーん何がいけないのだろう(;´Д`)
840デフォルトの名無しさん:2006/09/19(火) 18:58:15
今、手元にBCBが無いのでなんとも言えないんですが、
TStringListとAdd(AnsiString);
の間にもういっちょ何か要るって事はない?
例えば、ImageとPenの間にCanvasが無いみたいな。
(これはコンパイラ通らないけど)
841デフォルトの名無しさん:2006/09/19(火) 19:14:18
単に文字列をAddするだけなら
TStringList->Add(AnsiString);
842デフォルトの名無しさん:2006/09/19(火) 19:40:34
newされる前にAddしてるんじゃないのか?
843デフォルトの名無しさん:2006/09/19(火) 19:52:03
そもそもそこでEConvertError例外が来ることが信じられない
844837:2006/09/19(火) 21:17:10
信じられないかもしれませんが実際起こってます。
まともに動くものが作れる方がいましたら書いていただけないでしょうか?
845デフォルトの名無しさん:2006/09/19(火) 21:19:53
他人デバッグ
846デフォルトの名無しさん:2006/09/19(火) 21:28:06
Hoge::Hoge() コンストラクタの HogeList 変数はメンバーじゃないのでは
847デフォルトの名無しさん:2006/09/19(火) 23:01:36
>>837

>大体こんな感じです
エラーが起きたコードをそのまま張れヴォケ

>HogeList->Add("TEST"); // ここで EConvertError, 「書式文字列"%s"は正しくないか引数の型と一致しません」
どこに書式文字列がある?
書式文字列のある、ConvertErrorをおこしたそのコードをさらせこの池沼
848デフォルトの名無しさん:2006/09/19(火) 23:29:27
>>847
それは賛否両論だし。わざわざ他人にも解りやすく要点をまとめてくれるんだろうに。
お前のような慇懃無礼なヤシに教わろうとも思ってないだろう。
書式文字列なんて書いていないのに、そのエラーが戻ってきてるんでしょ。
849デフォルトの名無しさん:2006/09/19(火) 23:31:07
再現する最小限のコード

これが大切。
850デフォルトの名無しさん:2006/09/19(火) 23:42:40
>慇懃無礼
851デフォルトの名無しさん:2006/09/20(水) 00:53:08
>>850
なんですかその
カチンと来たけどケチつける口実思いつかないから
その肝心のこじつけを人任せにする負け犬っぷりわ
852デフォルトの名無しさん:2006/09/20(水) 01:02:47
慇懃無礼は目も当てられないほどの甚だしい誤用だけども、

>>847が慇懃でかつ無礼であるのは、言いえて妙かもしれんw
853837:2006/09/20(水) 01:17:34
改行大杉と言われるのでうpしました。
ttp://www.rupan.net/uploader/download/1158682617304000.bJ63Af
お手数ですが確認をお願いします
854デフォルトの名無しさん:2006/09/20(水) 01:38:07
>>853
警告読もうぜw
ついでに 846 も読んであげるといいと思うけど。
855デフォルトの名無しさん:2006/09/20(水) 01:38:16
>>853
>>846で正解。
EConvertErrorでなくて、ヌルポ。
856デフォルトの名無しさん:2006/09/20(水) 01:39:01
>>837の方のソースでいくよ

>void Hoge::Hoge(){
>TStringList *HogeList = new TStringList();

ここで新たにTStringList* HogeListを定義してしまっている
これはHogeのメンバであるHogeListとは別の変数として定義されている
Hoge::HogeListを初期化するなら
HogeList = new TStringList;
でないとダメ
Hoge::HogeListが初期化されてないからそれを参照しようとするとエラーが発生する
しかしEConvertErrorではないはずだが?

EConvertErrorを起こしているのは別のところだよ
それはその部分のソースを提示してくれないと判断できない。

あと、エラーとは直接関係ないが、

>void Hoge::Hoge(){
なんでコンストラクタに戻り値が?
857856:2006/09/20(水) 01:39:34
かぶったか
858856:2006/09/20(水) 01:42:57
つっこまれるまえに

×なんでコンストラクタに戻り値が?
○なんでコンストラクタにvoidを明示する?
859デフォルトの名無しさん:2006/09/20(水) 01:47:41
まあ、原因がぬるぽだという事がわかってよかったね(^^)
860837:2006/09/20(水) 01:48:50
お蔭様で解決できました。

>>void Hoge::Hoge(){
>なんでコンストラクタに戻り値が?
こちらの表記ミスです。
ちなみに先ほど新たに1から書き直したものが>>853です

>しかしEConvertErrorではないはずだが?
私の環境ではAdd関数を行うメソッド(AddStr())(>>853ではButton1Click)を呼ぶまでは問題なく
呼んだ瞬間に間違いなくEConvertErrorが出ています。

指摘して頂いた
TStringList *HogeList = new TStringList();

HogeList = new TStringList;
に書き換えた所問題なく動作しました。

レス下さった方、長々とお付き合いありがとうございました。
861デフォルトの名無しさん:2006/09/20(水) 08:13:31
他人デバッグ
862デフォルトの名無しさん:2006/09/20(水) 15:19:10
しばらくは this->HogeList = ... とか書いた方がいいんじゃねーの?ww
実際、こう書く奴がいてさ、this->m_str ってアホかwとか思った。
863デフォルトの名無しさん:2006/09/20(水) 16:42:46
補完がきくから、長いメンバー変数の入力が楽、という利点はあるので、
馬鹿にするだけのものではないと思うが。
864デフォルトの名無しさん:2006/09/20(水) 17:55:57
人のことアホっていう奴がアホって、おばあちゃんが言ってました。
ちなみに、関西では褒め言葉。
865862:2006/09/20(水) 18:41:36
ああすまん、m_ のプレフィクスと this-> の併用がおかしくてな。
話が通じないほど端折り過ぎた事は認める。
this-> つけるのは、俺は冗長だと思うから皮肉で言ったのだが、そういう利点もあるなら、記憶クラスも分かってない奴ようなにはお勧めなのかもな。
866デフォルトの名無しさん:2006/09/20(水) 19:25:19
ファイルのタイムスタンプを調べるためにFindFirst()を使っているのですが
返される値の読み方がよくわかりません。

AnsiString ReturnTimeStamp(AnsiString Path){
 if ( FindFirst( Path, faAnyFile, sr) == 0 ) {
  return sr.Time;
 }else{
  return "FileNotFound";
 }
}

例えば8月29日6:26のファイルの場合891106163と返されます。
ヘルプを見ても検索してもいまいち参考になるものが見つからなかったのでご教授よろしくお願いします。
867デフォルトの名無しさん:2006/09/20(水) 19:26:31

TSearchRec sr;
が抜けてました
868デフォルトの名無しさん:2006/09/20(水) 19:29:38
さらに修正申し訳ない
sr.Timeは整数値ですね・・

× AnsiString ReturnTimeStamp(AnsiString Path){
○ int ReturnTimeStamp(AnsiString Path){

× return "FileNotFound";
○ return 0;
869デフォルトの名無しさん:2006/09/20(水) 19:41:53
>>866
FileDateToDateTime で変換する
870デフォルトの名無しさん:2006/09/20(水) 19:53:22
>>866
WindowsAPIのFindFirstFile使う手も
こっちは2GBオーバーの巨大ファイルのサイズもきちんと取れる。
タイムスタンプはFileTimeToSystemTimeでSYSTEMTIMEに変換すれば簡単に取れる。
871デフォルトの名無しさん:2006/09/20(水) 19:56:05
>>869-870
なるほど、参考になりました。
あと、>>866のはFileCloseもしなきゃいけませんね・・
ありがとうございました。
872デフォルトの名無しさん:2006/09/20(水) 22:04:18
FindFirst()でも2G超ファイルサイズは取れるけどね。
873本田:2006/09/21(木) 06:56:21
>>765
> >>761
> http://www.kouno.jp/home/c_faq/c5.html#4
> > NULLはポインターとしてのみ使うべきである。

>C++の構文解析手法
http://www.geocities.co.jp/SiliconValley-SantaClara/1294/parsingcxx.html
>NULL は (void *)0 ではない
>
>なぜこのようになったのかはまだ調べている最中であるが、
>考えられる理由のひとつにメンバへのポインタがある。
>これはクラスの先頭からメンバへのオフセットを値として持つために、
>最初のメンバを指す場合は0を”有効な”値として見なければならない。
>このことを考慮に入れてしまったために NULL とは異なる値を持つに至った可能性があるが、
>C++の標準規格では (int)0 を NULL として良いようなので説得力はいまいちである。
874デフォルトの名無しさん:2006/09/21(木) 09:16:24
どう考えても
C++ではvoid *をキャストなしで他のポインタに代入できないから
が、圧倒的に最大の理由だけど。
875デフォルトの名無しさん:2006/09/21(木) 10:07:24
TMemoなどにUnicodeを表示させるにはどうすればいいのでしょうか?
876デフォルトの名無しさん:2006/09/21(木) 11:04:51
877デフォルトの名無しさん:2006/09/21(木) 16:37:23
なんか30分毎くらいの感覚で素人に、いちゃもんつけてる奴がいるな。
無職で暇なんだろうが、楽しいか?
内容も薄っぺらいしwwwwwwwwwwww
878デフォルトの名無しさん:2006/09/21(木) 17:38:17
痛いよ
879デフォルトの名無しさん:2006/09/21(木) 17:58:14
>>876
Japaneseが文字化けしちゃってますけど・・・
880デフォルトの名無しさん:2006/09/21(木) 18:10:16
>>879
バグ報告は開発元に。
ソースはあるから自分だけこっそり直すことも可。
881デフォルトの名無しさん:2006/09/21(木) 20:38:59
>>879
間違えて中文コピペったに1GUNGLA
882780:2006/09/23(土) 02:14:25
みっけますた
ttp://hp.vector.co.jp/authors/VA015850/delphi/tips/etc13.html

BCBでXP風のボタンにしたいってやつです
ソフト.exe.manifest ファイルをexeと同じ位置におくだけでOK
883デフォルトの名無しさん:2006/09/24(日) 23:59:22
BCBやらDELPHI使ってる奴って、仕事で使えないんだけど。
こいつら、ほんと困るんだよね。
884デフォルトの名無しさん:2006/09/25(月) 00:02:26
>>883
自分のことか?
885デフォルトの名無しさん:2006/09/25(月) 00:05:46
いや、俺のことだが。
886デフォルトの名無しさん:2006/09/25(月) 00:09:34
いやいや、俺のことだ。
887デフォルトの名無しさん:2006/09/25(月) 01:06:31
以上、リストラ組の煽りですた。
888デフォルトの名無しさん:2006/09/25(月) 01:19:17
まてまてー!俺を忘れてもらっちゃこまる!
889デフォルトの名無しさん:2006/09/25(月) 08:19:24
601 名前:デフォルトの名無しさん[] 投稿日:2006/09/24(日) 23:55:30
自分が調べたいことをパラパラと探せないし、
かといって、ろくなこと書いてないし、サンプルもないし。
書店で本をみればロクなこと書いてないワリにめちゃめちゃ高いし、
やっぱVCのほうがいいっすよ。
本なんて買わなくても周りに知ってる人がいくらでもいるし。
BCBはね、DELPHIやってる人のほうが詳しかったりして。
なんで今更PASCALやらDELPHI固めのGUI操作を覚えねばならぬ。
890デフォルトの名無しさん:2006/09/25(月) 19:17:48
スレ違い
891デフォルトの名無しさん:2006/09/25(月) 22:46:09
>>889
スレ違いウザ
892デフォルトの名無しさん:2006/09/26(火) 01:22:21
>>889
スレ違いウザウザ
893デフォルトの名無しさん:2006/09/26(火) 03:34:17
>>889
スレ違いウザウザウザ
894デフォルトの名無しさん:2006/09/26(火) 07:52:33
スレ違い(ウザ)*
895デフォルトの名無しさん:2006/09/26(火) 14:08:23
BCB5でAVIファイルを再生してForm内のPanel1(TImageも可)に表示したいのですが、
put_Owner()がエラーとなってActiveMovie Window内に表示されます。

TPanel *Panel1
HRESULThRslt;
IGraphBuilder*pGrph;
IMediaControl*pMdaCtrl;
IVideoWindow *pVideoWin;

CoCreateInstance( CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (LPVOID *)&pGrph );
hRslt = pGrph->QueryInterface( IID_IMediaControl, (void **)&pMdaCtrl );
hRslt = pGrph->QueryInterface( IID_IVideoWindow, (void **)&pVideoWin );
hRslt = pVideoWin->put_Owner((OAHWND)Panel1->Handle);

エラーコードをWinError.hで調べてみると
// MessageId: E_NOINTERFACE
//
// MessageText:
//
// No such interface supported
//
#define E_NOINTERFACE _HRESULT_TYPEDEF_(0x80004002L)
でした。
我が師よ、どうコーディングすれば良いのでしょうか?
896デフォルトの名無しさん:2006/09/26(火) 14:37:40
>>895
IVideoWindow::put_Ownerの前にIGraphBuilder::RenderFile()呼ばないとダメだったかもしらん。
自作コンポは先にRenderFileやってた。
897デフォルトの名無しさん:2006/09/26(火) 15:08:52
895です。
>>896
師の教えにより、困難を克服致しました。896万歳!
898デフォルトの名無しさん:2006/09/26(火) 15:56:45
>>897
mp3ファイルとかだったりするとビデオレンダラ生成しようがないからね
899デフォルトの名無しさん:2006/09/27(水) 11:21:15
ListViewのMouseUpイベントなんですが、左ボタンだとちゃんとイベントに来るのですが
右ボタンだとクリックならイベントが来なくてダブルクリックだとイベントがきます。
これは何が原因なのでしょうか?
900デフォルトの名無しさん:2006/09/27(水) 22:32:36
BCBだから
901デフォルトの名無しさん:2006/09/27(水) 22:37:18
>>899
藻前のバグ
902デフォルトの名無しさん:2006/09/27(水) 22:44:33
いやBCBだから。
TPanel->Autosize=true;みたいな感じだから。
903デフォルトの名無しさん:2006/09/28(木) 01:59:05
>>899
BCBだからで正解
回避方法は知らん
904デフォルトの名無しさん:2006/09/28(木) 10:48:58
>>903
やっぱこれバグかー
ちなみにBCB5なんだけどそれ以降のバージョンでもダメか?
905デフォルトの名無しさん:2006/09/28(木) 11:57:20
ListViewの現在のカーソル位置(四角の点線)のインデックスを取得する方法を教えてください
906デフォルトの名無しさん:2006/09/28(木) 13:25:32
>>899
どういう意味?
右のシングルクリックだとイベントが来ないってことか?
それだったらウチは問題ないぞ?
907デフォルトの名無しさん:2006/09/28(木) 15:06:22
>>899
ListViewのアイテム上で右クリックしてもOnMouseUpに飛んで来ないのは
コンテキストメニュー(ポップアップメニュー)を出すため。
なのでOnContextPopupで待つといいよ。

>>905
ListView->SelectedやListView->GetItemAt()でListItemを取得して
ListView->Items->IndexOf()使えばインデクス取れるよ。

複数のアイテムの選択を有効にしている場合は、各アイテムのSelectedプロパティを見てください。
for( int i = 0; i < ListView->Items->Count; i++ ){
  if( ListView->Items->Item[ i ]->Selected ){
以下略
908デフォルトの名無しさん:2006/09/28(木) 15:42:47
>>906
え?マジですか?右のシングルクリックでこないんですよー
でも、右クリしてから離すときにマウスを移動して離すとなぜかくるんですよね。
>>907
神様ありがとうございます!!
それは全く気が付きませんでした。
それでIndexの話なのですが、マルチセレクトをしているのですが
それで複数選択してる最中にCtrlを押しながら矢印キーでカーソル移動できますが
このときに移動しているIndexはSelectedになっていなかったものですから・・

ちなみに、選択されている行で右クリしてもMouseUpのイベントは入ってくれませんでした
909デフォルトの名無しさん:2006/09/28(木) 16:03:46
>>906
それは項目を選択してないから
項目が選択された状態ならOnContextPopupに飛ぶ

あとBDSでも同じ動作だった
910デフォルトの名無しさん:2006/09/28(木) 19:05:56
>>909
ホ、ホンマやー!右でMouseUpって使ったことないから盲点だった
911907:2006/09/28(木) 21:17:29
>>908
あの書き込み程度で~扱いとは大袈裟な。w

選択されたアイテムではなくフォーカスのあるアイテムなら
ListView->ItemFocused で取得できるので、これを
ListView->Items->IndexOf()に渡してインデクスを取得するといいよ。
912デフォルトの名無しさん:2006/09/29(金) 00:00:08
実行ファイル名にプロジェクト名とは別の名前を付けたいのですが、
設定場所が見つかりません。
ご存知の方いらしたら教えて下さい。
913デフォルトの名無しさん:2006/09/29(金) 00:11:43
>>912
バージョンは?
914912:2006/09/29(金) 00:30:55
>>913
バージョンは6.0 Professionalにアップデートパック 4です。

プロジェクト->オプションソースの編集でそれらしきところ(PROJECT value)を書き換えても
変わりませんでした。
915デフォルトの名無しさん:2006/09/29(金) 10:58:22
>>914
プロジェクトファイルの<PROJECT><MACROS><PROJECT>のvalue書き換えで行けそうな。テストしてないけど。
916デフォルトの名無しさん:2006/09/29(金) 11:00:20
ってそれやったのか。

あとはメインソースの名前変更してみるとか。
917デフォルトの名無しさん:2006/09/29(金) 13:11:31
>>914
「プロジェクト->オプションソースの編集」での変更は保存されないような気がする。
いったんプロジェクトを閉じて、外部エディタでxxx.bpr(UTF8)を直接書き換えてみては?
918デフォルトの名無しさん:2006/09/29(金) 13:26:14
>>911
ぬおいおおおおお!!
ItemFocusedってあるとは知らなかった!
ありがとーありがとー。
さっそくためしてみます
919デフォルトの名無しさん:2006/09/29(金) 17:43:50
質問させてください

環境
BDS2006C++Builder

以下をコンパイルしようとすると、「E2328 プロパティを持つクラスは値をコピーできない」
と怒られてしまいます。

hファイルにc_Exというクラスを定義。
c_Ex型のP_c_Exプロパティを作成

↓こんなかんじ
C_Ex p_c_Ex;
__property SetP_c_Ex = {read = p_c_Ex,write = SetP_c_Ex};

で、cppファイルにある関数「SetP_c_Ex」の中で↑で定義したp_c_ExにinP_c_Exを入ようとする所でコンパイルエラーがでます。

↓こんな感じ
void __fastcall aaa::SetP_c_Ex(aaa::C_Ex inP_c_Ex){
p_c_Ex = inP_c_Ex; ←ここ!
}

回避方法がさっぱりわかりません。
どなたかご教授ください!
920914:2006/09/29(金) 23:45:28
メインソース(cpp,res)の変更も効果無し、外部エディタでbprを書き換えても
次回起動時にしっかり元に戻されています。
リンク後に外部プログラム呼ぶ設定でもあればDOSコマンドでリネームできるのですが
それすらなさそうです。
921デフォルトの名無しさん:2006/09/30(土) 00:11:53
あああ:c_えx*
922デフォルトの名無しさん:2006/09/30(土) 01:28:00
>>919
エラーが再現する最低限のソースを提示しろ
普通にプロパティを作っただけじゃそのエラーは出ない
923デフォルトの名無しさん:2006/09/30(土) 09:08:25
>>920
これはもうmakefile作るしかないかもね
924デフォルトの名無しさん:2006/09/30(土) 09:48:43
>>912
プロジェクト名とは別の名前は、できないと、思ってた・・・
925デフォルトの名無しさん:2006/09/30(土) 23:23:31
いや、BCBだから。
926デフォルトの名無しさん:2006/09/30(土) 23:24:37
いや、BCBのせいじゃない。
使ってるヤシが悪い。
927デフォルトの名無しさん:2006/10/03(火) 15:02:36
BCB6 UP4で、新規プロジェクトでActiveFormを選択して
そのままコンパイルしたところ、VCLCONTROL_IMPLマクロの
ところでエラーが出てコンパイル出来ないのですが、何か
やり方が間違っているのでしょうか。
ご存知の方いらしたら教えて下さい。
928デフォルトの名無しさん:2006/10/04(水) 12:42:03
GraphicExを使用してTIFFファイルを表示させようとしてます。
.pasファイルをプロジェクトに追加して、コンパイルしたところ、
自動作成された.hファイルから大量にエラーが発生してしまい、
コンパイルできませんでした。
どなたか、GraphicExを使用する方法を教えていただけませんか?

環境 WinXP+SP2 BCB6+UP4
929デフォルトの名無しさん:2006/10/04(水) 12:52:10
ImageFileLib(ttp://www.logicnet.dk/lib/)にしてみたら?
930デフォルトの名無しさん:2006/10/16(月) 00:35:33
GraphicExってDELPHIで書かれたコンポーネント?
自動生成される.hファイルってフォームクラスのヘッダのこと?
BCBのプロジェクトに.pas入れちゃ通らんだろ。
931デフォルトの名無しさん:2006/10/19(木) 00:36:43
↓の件を克服できた方、方法を教えていただけませんか
http://www.onionknights.net/c_labo/sectionex_0.html
932デフォルトの名無しさん:2006/10/19(木) 01:09:25
VCLを使え以上
933デフォルトの名無しさん:2006/10/19(木) 01:27:50
>>932
VCLに相当品ってありましたっけ?
934デフォルトの名無しさん:2006/10/19(木) 02:19:44
キャストすればいいんじゃね?
935デフォルトの名無しさん:2006/10/19(木) 08:15:40
だ、キャストすれ。
キャストすればエラーは出ない。
936デフォルトの名無しさん:2006/10/19(木) 11:54:10
すごく初歩的な質問なんですが、

ファイルオープンダイアログをExecuteすると、初期表示状態で「開く」ボタンが
クリック可能な状態になりますが、これをファイルを選択した場合にのみクリック可能にしたいのです。
(初期表示状態でEnable=falseの状態?)

それから、ファイルオープンダイアログの「ファイル名」欄ですが、1回目の表示では空欄です。
2回目以降は前回選択したファイル名が表示されますが、これを2回目以降も空欄にするには
どうしたらよいのでしょう?

Optionプロパティで設定できるのかと思い、探してみましたがHelpでは見つけることができませでして・・
環境はXP Pro+SP2 BDS2006+サービスパック2です。よろしくお願いいたします。
937デフォルトの名無しさん:2006/10/19(木) 13:33:05
// ファイル名を空にする
FileOpenDialog->FileName = "";
938デフォルトの名無しさん:2006/10/19(木) 20:56:43
>>931
C言語としてコンパイルするか、
#define STRICT を
#include <windows.h> の前に置くと通ったぞ
939936:2006/10/20(金) 08:15:19
>937
レスありがとうございます。
OpenDialog1Showイベントにその文を追加してみましたが
やはり前回のファイル名が表示されてしまいます。
追加するイベントがまちがっているのでしょうか・・
940デフォルトの名無しさん:2006/10/20(金) 10:36:24
>>939
ダイアログを表示する前に設定すべし
941デフォルトの名無しさん:2006/10/20(金) 10:36:48
>>939
FileName は Execute() を呼ぶ前までに設定しておかないとダメだと思うよ
942デフォルトの名無しさん:2006/10/20(金) 10:37:29
被ったorz
943939:2006/10/21(土) 08:22:25
>940,941
うまくいきました。ヽ(・∀・)ノ ヤター
どうもありがとうございます!
944デフォルトの名無しさん:2006/10/22(日) 19:03:47
TEdit等のImeModeプロパティを持ったコントロールは問題ないのですが、
ImeModeを持たないコントロール(例えばTStringGrid)で入力時にIME制御を
行うにはどうしたらいいのでしょうか?
945デフォルトの名無しさん:2006/10/22(日) 22:19:27
つImmユニット

まあ、IME制御APIとメッセージを使って制御するしかないな。
946デフォルトの名無しさん:2006/10/23(月) 00:39:00
Turbo C++ Explorer版試してみたんだけど、exeがすごく遅くなってないですか?
BCB4とBCB6でビルドしたexeでは3.3秒で終わる処理が7.5秒くらい・・・
947デフォルトの名無しさん:2006/10/23(月) 00:46:07
Turbo C++の最適化は、いろいろ不具合の話があるみたいだな
948デフォルトの名無しさん:2006/10/23(月) 00:50:02
majide?
949デフォルトの名無しさん:2006/10/23(月) 01:03:05
ああ、そういえば、
ttp://omoikane.my-sv.net/past/blog_20069.xml#20069001e
みたいな話もあったなー
950デフォルトの名無しさん:2006/10/23(月) 14:33:42
コンパイラとかリンカのバージョンが新しくなってるのでそれをBCB6にコピーして
BCB6からビルドするとexeが遅くならないで今まで通りなんだよね・・・挙動がわからーん。



佐賀
951944:2006/10/23(月) 17:47:21
>>945
やっぱそれですか。
DelphiではImmうんたらとかでやってたんでBCBにも同じような
物があるんだろうけど、今のところ発見できず・・・
952デフォルトの名無しさん:2006/10/23(月) 18:21:18
てゆうか、TEditのImeModeプロパティのコード嫁。

それから、
TStringGridの入力エディタは生成をオーバーライドできるようになってるから、
自作エディタに差し替えることを可能にしてあるし。
953デフォルトの名無しさん:2006/10/23(月) 19:36:39
954デフォルトの名無しさん:2006/10/24(火) 09:35:24
>>944
SDKの::ImmSetOpenStatus
955デフォルトの名無しさん:2006/10/26(木) 20:15:02
OnMouseDownイベントにて
右クリックかどうかを判別するにはどうすれば良いのでしょうか?
Shift == ssDouble ではコンパイルが通りませんでした・・
956デフォルトの名無しさん:2006/10/26(木) 20:28:29
>>955
if( Shift.Contains( ssRight ) )〜

ヘルプを読もう。OnMouseDownのヘルプ->Exampleに載ってるよ
確かにTShiftState型はちょっと判りにくいけどね。
957デフォルトの名無しさん:2006/10/26(木) 21:24:38
すみません、右クリックではなくダブルクリックでした
同じ様に書けば良いみたいですね
ありがとうございました
958デフォルトの名無しさん:2006/10/27(金) 13:48:17
リモートデバッカを使おうと思ったんだけど、ヘルプに記載されてる
『[リンカ]タブの[EXE/DLL オプション]ペインで
[リモートデバッグ情報を含める]にチェックマークを付けます。』
が、[プロジェクト|オプション]内にどこにも見当たらないんだけど、
わかる人いますか?
BCB6を使ってます。
959デフォルトの名無しさん:2006/10/27(金) 16:13:05
>>958
フツーのデバッグ情報でいいんでない?
960デフォルトの名無しさん:2006/10/27(金) 16:28:12
>>959
『リモートシンボルを含む .RSM ファイルが生成されます。
このファイルは,リモートマシン上の .EXE と同じ位置になければなりません。』
とのことで、.RSMファイルが出来ないといけないようなのですが、
通常のデバック設定ではこのファイルが作成されないのです。
961デフォルトの名無しさん:2006/10/27(金) 16:49:24
>>960
リモートデバッグはエンプラ以上じゃないとないんじゃなかったっけ?
962デフォルトの名無しさん:2006/10/27(金) 17:47:22
SHBrowseForFolderの使い方を教えてください。
Help読んでもわからないくらいの初心者です。
サンプルを示して頂けると嬉しいです。
宜しくお願いします。
963960:2006/10/27(金) 19:25:22
>>961
BCB6のエンプラを使用しています。
964961:2006/10/27(金) 22:19:51
自己レスです。
.RSMファイルではなく、.tdsファイルをリモートマシン上の
.EXE と同じ位置に配置すればOKでした。
HELPファイルほんと腐ってるな。。。
965デフォルトの名無しさん:2006/10/27(金) 23:18:41
>>962
使うAPIまで判っているのに、なぜGoogleに「SHBrowseForFolder サンプル」と聞いてみないんだい?
966デフォルトの名無しさん:2006/10/29(日) 12:50:00
WinXP+BDSup2使っています。
ACCESSファイル内のテーブルの項目一覧を表示するプログラムを
つくったのですが、項目一覧が勝手にソートされてしまいます。
TADOConnection.GetFieldNames メソッドを使っているのですが
ヘルプを見ても、ソートする/しないは指定できないようです。
テーブルに入っている項目順に表示させたいのですが、
このメソッドは使えないのでしょうか?
他の方法でテーブルに入っている順番に表示させることはできるでしょうか?
よろしくお願いいたします。
967デフォルトの名無しさん:2006/10/31(火) 15:49:13
>>962

つ TSHBrowseForFolderEx ttp://zero.s2.xrea.com/study.htm
968デフォルトの名無しさん:2006/10/31(火) 21:16:13
BDS2006で、プロジェクトにC++ファイル(xxx.cpp/xxx.h)を追加しても、
プロジェクトマネージャには、フォームを新規作成したもののように折りたたんで表示してくれません。
フォームを作成したの[xxx.cpp/xxx.h/(xxx.dfm)]と同じように、xxx.cpp/xxx.hが折りたたまれて表示する
ように、プロジェクトに新しいクラスのソースを追加するにはどうすれば良いのでしょうか。
969デフォルトの名無しさん:2006/11/01(水) 03:36:04
#include <iostream>
int main(){
try{}catch(...){
std::cerr << "" << std::endl;
}
return 0;
}

こんな感じのソースでCodeGuardが警告出すんだけど何か変ですか。
std::cerr << "" << std::endl;
を消すと問題無いんですが。
BCB5です。
970デフォルトの名無しさん:2006/11/01(水) 03:43:36
>>969
警告貼れよカス
971デフォルトの名無しさん:2006/11/01(水) 03:55:31
ゴメン、ソース短いしパッと見て変な所があったらすぐ分かるかなと思った。
貼れるのは明日以降だしアク禁に巻き込まれると貼れないっす。
972デフォルトの名無しさん:2006/11/01(水) 13:45:15
>貼れるのは明日以降

なんで?
973デフォルトの名無しさん:2006/11/01(水) 15:47:20
なんで!なんでなんで!
974デフォルトの名無しさん:2006/11/01(水) 22:01:14
なんで!なんでなんで!なんでなんでなんで!
975デフォルトの名無しさん:2006/11/02(木) 02:39:39
そりゃプログラム書いてるマシンとネット繋げてるマシンが違うから。
しかもぱっと持ってこれない環境なの。

-----------------------------------------
Error 00019. 0x300010 (スレッド 0xFFE09E4F):
リソースリーク: オブジェクト (0xA92F34) が削除されていません。

オブジェクト(0x00A92F34) [長さ: 96 バイト] は new によって作成されました。
呼び出し履歴:
0x00407403(=TEST.EXE:0x01:006403) A:\PROGRAM FILES\BORLAND\CBUILDER5\INCLUDE\rw/ctype.h#494
0x00403815(=TEST.EXE:0x01:002815) A:\PROGRAM FILES\BORLAND\CBUILDER5\INCLUDE\rw/locimpl.h#454
0x004116B1(=TEST.EXE:0x01:0106B1)
0x00403701(=TEST.EXE:0x01:002701) A:\PROGRAM FILES\BORLAND\CBUILDER5\INCLUDE\rw/usefacet.h#72
0x0040349B(=TEST.EXE:0x01:00249B) A:\PROGRAM FILES\BORLAND\CBUILDER5\INCLUDE\ios.h#375
0x0040C4D2(=TEST.EXE:0x01:00B4D2)
---------------------------------------------------
こんな感じ。
実行中のログは何も言わないくせに.CGLファイルはしっかり出てて気づかなかった。
ソースの方も本当はもうちょっと#includeやってたりプロジェクトにソースぶちこんでたりしてた。
本当の最小構成だと問題無いっぽい。
問題のソースをプロジェクトから外すとログ吐かないんだけどソースのどこがおかしいのかこれじゃ分からない。
ファイルは分かるから虱潰しに探すしかないかな。
976デフォルトの名無しさん:2006/11/02(木) 02:49:12
tryの中身が気になる。
ギリギリまでメモリを使っててbad_alloc当たりを投げていて、
std::coutに出力しようとしてバッファの確保に失敗しておかしくなってるとか。
977デフォルトの名無しさん:2006/11/02(木) 04:52:28
確か空だったと思う。
問題ソースをプロジェクトに入れて#includeしなくても起きる。
catchの中身も上の通り。
978デフォルトの名無しさん:2006/11/03(金) 02:40:33
確認したら空だった。
んでソースをコメントアウトして関数1つづつ試したけどgetline()かおかしい事が判明。
禿本の3章にgetline(ifstream&, string&)みたいな書かれ方されててそのまま書いてたんだけど。
979デフォルトの名無しさん:2006/11/03(金) 02:46:37
ともかく、

 エラーの起こる最低限のソース

これを提示するのが大原則
980デフォルトの名無しさん:2006/11/03(金) 03:44:58
#include <iostream>
int main(int argc, char** argv)
{
ifstream std::file(argv[1]);
if(!file) return 1;
std::string str;
getline(file, str); //ココ
return 0;
}

禿本も3章以外にこういうgetline()の使い方書いてないっぽい(索引から検索できない)。
更にgetline()は名前空間の指定無しに使えるのが気になる。
std指定しても結果は変わらないけど。
981デフォルトの名無しさん:2006/11/03(金) 04:03:27
BCB5というと確かRogueWaveか。バグが多いので、BCB6では
STLport、BDS2006ではDinkumwareになったのだろうが、その
バグに相当するという事はないだろうか?
982デフォルトの名無しさん:2006/11/03(金) 12:44:48
('A`)
983デフォルトの名無しさん:2006/11/03(金) 13:00:33
>>980
> 更にgetline()は名前空間の指定無しに使えるのが気になる。
> std指定しても結果は変わらないけど。

koenig
984デフォルトの名無しさん:2006/11/04(土) 02:50:06
バグですか。
とりあえずgetline()は使わずに1文字ずつ改行まで読むようにしました。
985デフォルトの名無しさん:2006/11/04(土) 16:29:33
('A`)()
986デフォルトの名無しさん:2006/11/06(月) 20:03:45
('A`)()
987デフォルトの名無しさん:2006/11/07(火) 03:54:42
C:\Documents and Settings\Administrator\デスクトップ>('A`)()
() の使い方が誤っています。
988デフォルトの名無しさん:2006/11/07(火) 11:15:57
FileListBoxでファイルを選択した時に反転表示される色(通常は濃い青)を
任意の色に変更するにはどうすれば良いでしょううか?
989デフォルトの名無しさん:2006/11/07(火) 19:19:23
>inline void __stl_delete(void* __p) { ::operator delete(__p); }

ここでエラーが出るのはどういうときですか?
990デフォルトの名無しさん:2006/11/08(水) 00:57:31
次スレ要る?
991デフォルトの名無しさん:2006/11/08(水) 01:05:39
ほすぃ
992デフォルトの名無しさん:2006/11/08(水) 02:16:33
次スレ
C++Builder相談室 Part17
http://pc8.2ch.net/test/read.cgi/tech/1162918887/

連投規制に引っかかってテンプレ完成しないOTL
993デフォルトの名無しさん:2006/11/08(水) 02:20:38
('A`)()
994デフォルトの名無しさん:2006/11/08(水) 02:41:55
夜立てると板全体の書き込みが少ないので連投規制にひっかかりやすいな
995デフォルトの名無しさん:2006/11/08(水) 03:33:16
テンプレは全部張ったんでぼちぼち移動してください
テンプレに不足があれば適当に追加してちょ

BDSスレがあることだし、Delphiスレは関連スレから外しました
ばかもん!必要だ!!つうかたはご自分で追加してください
996989:2006/11/08(水) 13:46:06
STLのvectorって、クラスの実体宣言でメンバ変数としてはマズいですか?
997デフォルトの名無しさん:2006/11/08(水) 15:32:09
>>996
意味不明
多分、vectorのインスタンスをクラスメンバにしてかまわないかという意味だと思うが、
それなら特に問題はない

しかしおまいさんのC++の基礎知識の不足と日本語の運用能力の低さは極めて重大な問題だな
998デフォルトの名無しさん:2006/11/09(木) 00:14:01
998
999デフォルトの名無しさん:2006/11/09(木) 00:17:08
999
1000デフォルトの名無しさん:2006/11/09(木) 00:19:24
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。