トップページ⇒tech
946コメント287KB

C++Builder相談室 Part6

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさんNGNG
C++Builderに関する質問・回答や議論等を行う相談室スレッド。
過去スレ・関連サイトは>>2-10あたり。


0002デフォルトの名無しさんNGNG
<過去スレ>

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://pc2.2ch.net/tech/kako/1035/10355/1035596146.html
C++Builder相談室 Part5(前スレ)
http://pc2.2ch.net/test/read.cgi/tech/1045542179/
0003デフォルトの名無しさんNGNG
<Tipsなど>
C++Builderのお部屋(Tips系)
http://www.ne.jp/asahi/nagoya/ahomaro/builder/
C++Builderによるプログラミング(Tips系)
http://market.agr.tottori-u.ac.jp/ken/
Delphian World(コンポーネントライブラリ)
http://home1.infonia.ne.jp/~delphian/delphi/
C++Builder Bugs
http://www2.justnet.ne.jp/~tyche/bcbbugs/index.html
Borland C++Builder最新リンク2001(リンク集)
http://www2.famille.ne.jp/~akio1998/l_cpb.html
ビギナー向けtips
http://www.yukibow.com/bcb/index.html
0004デフォルトの名無しさんNGNG
<関連サイト>
公式サイト
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

<Update>
BCB6/US SP1 は BCB6/JP 製品版に含まれています。

C++Builder 6 Update4 日本語版
ftp://ftp.borland.co.jp/pub/cbuilder/
0005ぼるじょあ ◆yEbBEcuFOU NGNG
(・3・) アルェー 新スレだNE
0006デフォルトの名無しさんNGNG
>>1
乙
0007デフォルトの名無しさんNGNG
VCLはDelphiで作られているんだから関連スレとしてDelphiも入れておこう。
もしよければDelphiに乗り換えてもいいぞ。

ミ,,゚Д゚彡フサギコとモナーのDelphi質問相談談話室
http://pc2.2ch.net/test/read.cgi/tech/1052312038/l50
0008デフォルトの名無しさんNGNG
アプリケーションの新規作成を行うと以下のようなエラーがでるようになってしまい実行ファイルが作成できません

[リンカ エラー] 外部シンボル '_CG_DESC' が未解決(D:\CBUILDER5\アプリケーション\その他\PROJECT1.OBJ が参照)
[リンカ エラー] 外部シンボル '_CG_DTORTHIS' が未解決(D:\CBUILDER5\アプリケーション\その他\PROJECT1.OBJ が参照)
[リンカ エラー] 外部シンボル '_CG_A_BP' が未解決(D:\CBUILDER5\アプリケーション\その他\PROJECT1.OBJ が参照)
[リンカ エラー] 外部シンボル '_CG_GDA_EGY' が未解決(D:\CBUILDER5\アプリケーション\その他\PROJECT1.OBJ が参照)
[リンカ エラー] 外部シンボル '_CG_THIS' が未解決(D:\CBUILDER5\アプリケーション\その他\UNIT1.OBJ が参照)
[リンカ エラー] 外部シンボル '_CG_DA_EPY' が未解決(D:\CBUILDER5\アプリケーション\その他\UNIT1.OBJ が参照)

因みに既存のプロジェクトは普通にコンパイル&リンクは通ります。
解決法を教えてください。
宜しくお願いします。
0009デフォルトの名無しさんNGNG
>>8
あ、間違い。
アプリケーションの新規作成をしてからコンパイルすると>>8のエラーが出ます
0010デフォルトの名無しさんNGNG
>>9
何かライブラリを参照してないと思われ
0011デフォルトの名無しさんNGNG
>>8
http://www.borland.co.jp/qanda/lang/l0003007.html
これかな
0012デフォルトの名無しさんNGNG
http://pc2.2ch.net/test/read.cgi/tech/1052625846/708-

BCBのwchar_tは、UCS-2でしょうか?UTF-16でしょうか?
0013デフォルトの名無しさんNGNG
>>12
UCS-2 / 伝統的 UNICODE です。

001412NGNG
あ、UCS-2の方が伝統的なんだー。
2バイトきっかりで便利だよね!
HTMLでUTFが使われてるようだけど、そちらが新種か。
001512NGNG
で、DBに入れるときには、UTFの方が良いのかな?????
0016デフォルトの名無しさんNGNG
元スレッドに有るように、データをもらって Win32 API に渡すだけなら、UTF-16 データを
乗っけられる。1バイトのことしか考慮していないアプリで UTF8 が(見かけ上)扱えるのと
同じ程度にね
001712NGNG
thanx!>>16
をぉ、結局どれも利点があって、
UTF8,UTF16,UCS-2のどれが良いか分からないぞ。
0018デフォルトの名無しさんNGNG
>>17
UNICODE にしたからといってすべてが解決するわけではありません。
単なるエンコーディング規則。

UTF8/UTF16/UCS-2 の相互変換は簡単かつ完全なので、状況に応じて使い分けるように。

ただね。UTF16 の UCS-2 からの拡張部分を使うことができる OS は限られているし、
そこに定義されている文字を使う人、文書はすぐには現れない。

glib のように一気に4バイト系 / UCS-4 にいってしまうというのも一つの見識。
Win32 API がサポートしてないのが最大の問題だが。
0019デフォルトの名無しさんNGNG
>で、DBに入れるときには、UTFの方が良いのかな
良い、悪い。じゃないの。C/C++ の基礎知識があるとして...

UCS-2 表現だと、それを1バイトごとに並び替えてバイトストリームとして処理すると、
* バイトオーダーの問題(リトル/ビッグエンディング)
* ストリーム中に 0x00 が現れることに対する対応。
この二つが出てくる。後者は、ストリーム処理をバイトからワードに書き換えるか、または
(MBCS 処理のように)1 バイト先読みする必要が起きる。
で、unix 畑の連中が、バイトオーダーの問題を持たず、データ中に 0x00 が現れない UNICODE 表現を
作ったのが UTF8.

少し偏見交じりにいえば、UTF8 しかサポートしていないアプリ/DB は、内部処理 UNICODE 化されていない
コードを元にしているのだろう。と。
UCS2 サポートするためには、各種文字/文字列処理関数が w_char サポートした処理系で
かかれているのであろう。と思われる。ってところ。
002017NGNG
じゃぁ、OSの種類がイパーイ(Win/DOS/Linux/ITRON)ある場合、
UCS2にしといて、世の中のOSがUCS4になったら一気にコンバートすれば良さげ。

それともUTF8しとけば色んなOSのASCIIコード部分は保証されるのかな。。
002117NGNG
>>19
げ、怖いですね。

UTF8だと、色んなOSに対応できますかねぇ。
0022デフォルトの名無しさんNGNG
UTF8 が US-ASCII と同一のバイト表現を得られる。ってのがアメリカ人にとっては
心地よいんだろうね。その代わり、ヨーロッパを含む多くの国にしわ寄せが。
UNICODE としては同じだから、どれを使っても大差ないよ。
抱える問題も同じ。
002317NGNG
そうでつか。>>22
今までASCIIコードしか対応してなかったので、UTF8にしとけば拡張となるので良さそうです。
でも、String/WideStringで処理して、UTF8円コードでDBに入れることにしまつ。

超初心者質問ですが、UTF8のAからZはASCIIコードと同じなんですかね。(呆れないでNE!)
0024デフォルトの名無しさんNGNG
めっちゃ困ってて、ポストしまする。

現在DLLを制作しているのですが、特別なプログレスウィンドウが必要でDLL側で
VCLを使いたいのですが、showmodalなウィンドウ以外はエラーで落ちてしまいます。

親ウィンドウハンドルを使って、formを生成したりするマネって出来ないんでしょうか?
0025デフォルトの名無しさんNGNG
出来ますよ。
0026デフォルトの名無しさんNGNG
出来るけど、プログレス程度ならやらない方がいいように思うけどな。
理由は DLLが肥大する
DLL呼び出し側でVCL使って DLLでも使うなら同じコードが個所にある事になって気持ち悪い。

プログレスならダイアログリソース作ってやった方がいいんじゃないの
0027デフォルトの名無しさんNGNG
C++Builder 4をWindows2000 SP3で使っています
用意されてるコントロールを並べてちょっとコードを書くような簡単なプログラムなのですが
コンパイルして実行する時にリンクするところでハングアップしてしまいます
こんな時ってどんなことが考えられるのでしょうか
0028デフォルトの名無しさんNGNG
>>27
そういう時は、
1、必要なパスの設定を忘れている
2、ライブラリがどこか壊れている
3、中間ファイルが壊れている
などが考えられます。
1,2は自分で修理できないならコンパイラを再インストールすると良いでしょう
3は、自分のプロジェクトフォルダから不要ファイルを消すとよいでしょう
0029デフォルトの名無しさんNGNG
>>27
漏れは似たようなことになったことがあるが
BCBを再インスコしたら直った。
0030デフォルトの名無しさんNGNG
質問なんですが、
C++Builder6は動作環境が98/2000/xpということになってますが、
MEだとやっぱり不具合が起こるんでしょうか?
0031デフォルトの名無しさんNGNG
Meだと BCBでなくとも不具合おこりまくり・・・ よくもまあこんなもの商品として出したもんだM$
0032デフォルトの名無しさんNGNG
そんなに不具合が起こるんですか・・・。
それじゃMEの人は買えませんね。
0033デフォルトの名無しさんNGNG
そうだね。 Meだと 98に戻すか 2000にするか・・・でも2000に出来ないのも多いしね。
0034デフォルトの名無しさんNGNG
BCBはcatch(...)は使っちゃいけないんでしたっけ?
catch(Exception &e)ってやらないと
確かデストラクタが呼ばれなくてメモリリークするんですよね。
0035デフォルトの名無しさんNGNG
>>34
4がそうだったのは知ってる。
今はどうなのか知らん。

一応検索してみた↓
------------------------------------------------------------------------------------
catch節にて例外を処理すると、メモリーリークが発生する。

BCB 1.0〜3.01の場合
例外オブジェクトの型がObject Pascalで定義されているクラスの場合、例外をcatch節で処理すると、
メモリーリークが発生する。

BCB 4.0の場合
例外オブジェクトの型がObject Pascalで定義されたクラスで、かつcatch(...)で例外を処理すると、 メ
モリーリークが発生する。
-------------------------------------------------------------------------------------

対処方法は>>34
0036デフォルトの名無しさんNGNG
BCB6Proでcatch( ... )使ったけど別にリークしてないよ
ループの中に入れて無理やり例外出してcatchしたけど平気だたーよ
(タスクマネージャで見る限り)
0037デフォルトの名無しさんNGNG
単に ME ではテストしていない。ってこと。
あれは Win98 に常駐プログラムを追加しただけのものだから。
各種リソースに余裕が無く、そんなに大きくないプロジェクトを読み込ますだけでも
リソースが足りなくなる。

0038デフォルトの名無しさんNGNG
あのさー .lib ファイルを.dllにしたいんだけど、どうすればいいの?
0039デフォルトの名無しさんNGNG
DLLにすればいいよ。
004027NGNG
27です
>>28>>29
再インストールは何度かやってますがダメでした。
中間ファイルを削除してみると通る時もあるけど、たいていは固まります。
パスはインストールしたそのままです。
0041デフォルトの名無しさんNGNG
中間ファイルを削除するバッチを教えて
0042デフォルトの名無しさんNGNG
del *.obj
del *.li*
del *.csm
del *.~*
del *.#*
0043デフォルトの名無しさんNGNG
動作が変な時は思い切って

del *.tds
del *.dsk
del *.res <-- これはまあ注意してね
0044デフォルトの名無しさんNGNG
MFCプロジェクトをコンバートして、MFCのダイアログの編集はどうやるんですか。
ImageEditorでリソース編集する方法しかないですか?

ま、最終的に全面的にDFM/XFMに置き換えるのは当然として、その前段階として。
0045デフォルトの名無しさんNGNG
MFC のダイアログって?
なにか特殊なファイル形式がありましたっけ?

..ってところから調査すれば分かるでしょ。
004644NGNG
というか、リソースファイルになってるのも知ってるし、
VC++だとリソース編集画面とクラスウィザード(これらがダサダサなんだけど)開きますよね。
それを、BCBでどうするのかを他人から聞かれたんです。

自分は、ほぼBCB/Delphiだし、MFCのクラスウィザードをどうしても使うときは泣き泣き使ってまつ。
0047デフォルトの名無しさんNGNG
リソースワークショップって入ってない? WorkShopで検索してみたら?
004844NGNG
BCBの画面から直接編集画面を出せないですか?

どんな場合でも、 BCB > VC++ と言えた方が今後の導入が楽なので。
0049デフォルトの名無しさんNGNG
BC++ 5なら出来たんだけどねえ ツールのところにリソースワークショップ入れるくらいしかないかもね
005044NGNG
>>49
え”!スペックダウン?
某め。
0051デフォルトの名無しさんNGNG
いやスペックダウンっていうか BC5 は そもそもDOS〜Win32迄開発出来る環境だからさ
0052デフォルトの名無しさんNGNG
44はBCB5と勘違いしている悪寒
0053デフォルトの名無しさんNGNG
Delphi 1 か 2 (もしかしたら3?)あたりまでは ダイアログリソースの DFM への変換ツールが
ついていたと思ったんだけど。単にデザインだけ持ってくるツールですが。

Dialog がコンポーネントを使っていない(使えない)以上、縦横情報以上のものを持ってくることは
難しいと思われ。べつのものなんだから。

0054デフォルトの名無しさんNGNG
TRichEditなのですがLines->Addで追加したときに
自動的にスクロールして一番下の行を見えるようにするにはどうしたらいいのでしょうか?
宜しくお願いします
0055たぶんNGNG
キャレットを一番下に持っていって
RichEdit1->Perform(EM_SCROLLCARET, 0, 0);
0056デフォルトの名無しさんNGNG
CreateThreadに自分で作ったクラスのメソッドっていうか関数を与えるには
どうしたらいいのでしょうか?
0057デフォルトの名無しさんNGNG
メモリリークしているとかしていないかとかは
どうやって調べて行けばいいのでしょうか?

タスクマネージャのメモリ使用値とにらめっこするわけじゃないですよね?
0058デフォルトの名無しさんNGNG
>>56
俺も直接クラスのメンバを呼ぶ事ができなかった。

そこで、どのクラスにも属さない関数 foo() を作り、
それをクラス bar のフレンドにして、

CreateThread(
 セキュリティ設定 (NULL),
 スタック (0),
 foo へのポインタ,
 bar クラスのオブジェクトへのポインタ,
 作成フラグ (0),
 スレッド ID 受け取り変数へのポインタ)

で CreateThread() してるよ。

そうすると、foo() の引数に
bar クラスのオブジェクトへのポインタが入ってくるので、
そこから目的のメンバ関数をコールしている。

foo() からクラスの非公開部分にアクセスしないなら、
foo() を bar クラスのフレンドにしなくてもいい…と思うよ。

長文スマソ。
0059デフォルトの名無しさんNGNG
>>58

class ThreadProcedure{
protected:
 virtual void execute(){}
public:
 static DWORD __stdcall execute(void* data){
  ((ThreadProcedure*)data)->execute();
 }
};

こうすれば綺麗。
あと、C/C++ライブラリ使うならCreateThreadより_beginthreadの方が良い。
0060デフォルトの名無しさんNGNG
BeginThreadはどうでしょうか?
0061デフォルトの名無しさんNGNG
すみませんちょっと素人的質問なのですが
class aaa : public bbbb
としたときに、bbbbを初期化するデフォルトコンストラクタが見つからない
とエラーが出るのですが、これはどうやって定義すればいいのでしょうか?
0062デフォルトの名無しさんNGNG
>>58-60
お答えありがとうございます。
色々探していたらTThreadって便利なものあったので
これを利用しようと思って色々やっていたのですが、
class MyThread : public TThread
などとして、MyThreadクラスを作成したのですが
このクラスのデストラクタを定義するとリンカーエラーになってしまいます。
何がいけないのでしょうか?
0063デフォルトの名無しさんNGNG
>>61,>>62
詳しいソースキボンヌ
0064デフォルトの名無しさんNGNG
>>62
>色々探していたらTThreadって便利なものあったので
ワラタヨ。すげえ釣りだったな。
0065デフォルトの名無しさんNGNG
いやいや釣ってないし
0066デフォルトの名無しさんNGNG
ファイルパスを表示した ListView から他のアプリへドラッグ&ドロップして
ファイルパスを渡す処理を作成したのですが、自分のフォーム外にドラッグした
時はドロップ禁止(crNoDrop )のマウスカーソルになってしまいます。
一応ファイルパスの引渡しは出来ているので処理的には問題ないのですが、
やはり見た目でドラッグ(crDrag)のカーソルを表示させたいと思い
いろいろ調べてはみたのですが、カーソルの変更方法が全くわかりません。
エクスプローラからメモ帳へテキストファイルをドラッグ&ドロップする時のように
カーソルも変化させたいのですが、どのように処理すれば良いのでしょうか?。
0067デフォルトの名無しさんNGNG
C++ Builder や Delphi を使ってスレッドを実装したい場合、TThread を使うのが普通。
ヘルプファイルで TThread とタイプすれば例まで載っているし、
もっと詳しいサンプルがほしければ Google にいけ
0068デフォルトの名無しさんNGNG
C++Builderの場合TThreadはメモリリークします。
0069デフォルトの名無しさんNGNG
( ´_ゝ`)
0070デフォルトの名無しさんNGNG
すいません初心者です
C++Builder 6でOnDeactivateイベントを使いたいのですが
アプリ内で別のフォームに行く場合は使えるのですが
他のアプリケーションに行くと実行されません
何かいい方法はないでしょうか?
宜しくお願いいたします
0071デフォルトの名無しさんNGNG
TApplicationのOnDeactivateを使いなはれ >>70
0072デフォルトの名無しさんNGNG
>>71さん
ありがとうございました
無事できました
助かりました
0073デフォルトの名無しさんNGNG
>>68
正確には、TThreadで作成したスレッド内で、C/C++ライブラリの一部を
使うと、スレッド終了時に解放されないメモリが残る。
_adopt_thread使えばいいんじゃないの?
0074デフォルトの名無しさんNGNG
TPageControlとTTabSheetとTPanelを利用し動的にコンポーネントを作成しているのですが
以下のことができなくて困っています

動的に生成するコンポーネントのイベントは設定できてるのですが
動的に生成されたコンポーネントから親のコンポーネントの参照方法がわからないのです
親コンポーネントの関数を呼び出したりできるのでしょうか?

アドバイスおながいします。
0075デフォルトの名無しさんNGNG
Parent
0076デフォルトの名無しさんNGNG
環境はWin2k+IE6(LAN接続)にCB5なんですが、
余ってたPCを一気に最新にUpdateしつつインストールしたら
シャットダウンするまでの時間がすごく遅くなりました。

原因がIE6のUpdateによるものなのか、CB5の
「Drワトソン〜COM+デバッグ〜」とかメッセージでインストールされる
ツールによるものなのか情報ありましたら教えて下さい。

原因の確認には再インストールするのが最善なのでしょうが、
対処法の知識がないもので.....
007774NGNG
>>75
TFormのEditBoxの値を変更したりするときは

TPanelのParentがTTabSheet
TTabSheetのParentがTPageControl
TPageControlのParentがTForm
だから


Panelhoge->Parent->Parent->Parent->Edithogee->text = "hoge";
ってやるってことでしょうか?

ちょっと今環境がないのでテストできないので
あとでやってみます
0078デフォルトの名無しさんNGNG
>>76
http://homepage2.nifty.com/winfaq/
007976NGNG
>>78
プリンタ スプーラを停止して解決しました。
ありがとうございます。
0080デフォルトの名無しさんNGNG
BCB6のパレットに登録されているVCLの詳細説明が書いてあるHPを教えて下さい
0081直リンNGNG
http://homepage.mac.com/yuuka20/
0082デフォルトの名無しさんNGNG
エクスプローラで右クリで出てくるポップアップメニューに追加するには
どうしてらいいのでしょうか?
0083_NGNG
http://homepage.mac.com/hiroyuki43/jaz09.html
0084デフォルトの名無しさんNGNG
●●●川崎オールスター選出運動●●●

現在マスコミでも話題になってる活動です。
2ちゃんねらーの力で現在40万票以上の票が集まっています。
現在セ・リーグ投手部門2位。もう一息だ!
2ちゃんねらーの力で川崎投手に復活の舞台を!

投票ページ  http://allstar.sanyo.co.jp/
セ・リーグ先発投手部門はドラゴンズ川崎投手(D20)へ。
投票途中経過 http://allstar.sanyo.co.jp/result/detail.html
投票は1名義につき5票まで有効です。


川  崎  投  手  に  最  高  の  復  活  の  舞  台  を  !

0085デフォルトの名無しさんNGNG
☆★☆★♪大人の玩具激安販売店♪ ☆★☆★
ピンクローター190円から〜
オリジナル商品や新商品をどこの店よりも早く発売いたします!!
イスラエル軍も使用している本物ガスマスク!!
バイブ、ローター何でも大安売り!! 下着やコスプレなども大安売り!!
個人データも秘密厳守!!偽名で購入OK!
郵便局止め、営業所止めOK!
http://www.king-one.com/
0086デフォルトの名無しさんNGNG
>>80-81
ワロタ
0087デフォルトの名無しさんNGNG
>>86==>>81 自演
0088デフォルトの名無しさんNGNG
なわけねーだろ(嘲笑激藁
0089デフォルトの名無しさんNGNG
>>88=>>85
0090  NGNG
伝説のプログラマー47氏がC++Builderを激賞!

http://www.geocities.co.jp/SiliconValley/2949/

なお、β4でまたGUI周辺が大幅に変わる予定です。いいかげんこの手のGUIだとVisual C++ & MFCでは
開発効率悪くて仕方がないので、開発環境を変えてBorland C++Builderの方で作り直し中です。

とりあえず通信部の移植は終了しましたが、GUI周りがまだ半分です
(といっても通信周りができてしまえばGUI側はBCBものすごーく楽なので直ぐにできるかと)

0091デフォルトの名無しさんNGNG
初心者です
Canvas->Rectangleなどで書いた図形を
CADなどみたいにオブジェクトとして扱えるのでしょうか?
宜しくお願いいたします
0092_NGNG
http://kame.kakiko.com/hiroyuki/jaz_b01.html
0093デフォルトの名無しさんNGNG
>>91
自分でそういうのを管理するクラスを作るか、TShapeを使えばいいんじゃない?
0094たぶんNGNG
>>91
丁度死滅スレで出てたコードだけどさ、

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1004530597_1/MyDraw.pas

こんなふうな処理が必要だよ。
009591NGNG
>>93さん
>>94さん
ありがとうございます
私には難しそうです(泣
一歩ずつがんばっていきます
0096  NGNG
割れ厨の味方47氏がC++Builderを激賞!

http://www.geocities.co.jp/SiliconValley/2949/

なお、β4でまたGUI周辺が大幅に変わる予定です。いいかげんこの手のGUIだとVisual C++ & MFCでは
開発効率悪くて仕方がないので、開発環境を変えてBorland C++Builderの方で作り直し中です。

とりあえず通信部の移植は終了しましたが、GUI周りがまだ半分です
(といっても通信周りができてしまえばGUI側はBCBものすごーく楽なので直ぐにできるかと)
0097デフォルトの名無しさんNGNG
Me使ってるので買います
009874NGNG
>>77の方法で試してみたのですが
親フォームがFormMainで
PageControlにTTabSheetを動的生成し
その上にPanelを生成しています

パネル内のイベントから
path = this->Parent->Parent->Parent->Name;
親フォームのName等のプロパティ情報は取得できたのですが

FromMainの中のコントロールを参照したり
FromMainのメンバ関数を実行する方法が見あたりません
どなたかご教授願えないでしょうか?
0099直リンNGNG
http://homepage.mac.com/yuuka20/
0100Delフサギコ ◆A6VzDeLphI NGNG
           _________
   ∧,,∧   / 2タン系ツールは
  ミ,,゚Д゚彡 <  某で湿られてきてますね。
   ミ つ旦)~~ \ 
 @ミ   ミ     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ∪''∪
0101デフォルトの名無しさんNGNG


     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉





0102デフォルトの名無しさんNGNG
>>98
ParentをFormMainにキャストすればいい
0103デフォルトの名無しさんNGNG
こういうRAD開発ツールって、
MVCを前提としたクラス設計になってない気がするんだけど、
どうするの?
フォームクラスに処理詰め込んじゃうの?
0104デフォルトの名無しさんNGNG
Mに相当するクラスを勝手に作ればいいだけでしょ。
VC++ with MFCみたいにCDocumentも雛形吐いてくれないとだめかい?
0105デフォルトの名無しさんNGNG
GUI系の場合はVCを一緒にするパターンが普通。
そうじゃなくて独立したCなのが例えばTActionとかだね。
Mについては>>104の言うとおり。
0106デフォルトの名無しさんNGNG
まあなんといっても VisualClassLibだからね。
RADを使うと、委譲をフォームに行ってしまうけど、別に委譲先クラスを作ってそこに委譲してもいいわけで
そこは手作業になるけどね
0107デフォルトの名無しさんNGNG
夜になってからつっこむのもあれだが…Visual Component Library
0108デフォルトの名無しさんNGNG
>>106
Borlandのアレはそうだな
0109デフォルトの名無しさんNGNG
あー、アンカー間違いだがいいか
0110デフォルトの名無しさんNGNG
自分のソフトからエクスプローラにD&Dする方法教えて
0111デフォルトの名無しさんNGNG
>>110
ttp://www.kh.rim.or.jp/~maruoka/Builder/MyProg.shtml
>TFileDnDro
 OLEを使ったドラッグ&ドロップをサポートします。
 外のアプリへDnDしたい場合は、Linesプロパティにファイル名を追加してからStartDrag()メソッドを呼び出します。
0112デフォルトの名無しさんNGNG
>>98
Panelのイベントを設定したいって事?

OnClickなら下みたいな関数(引数はOnClickイベントと同じ)をつくって、
void __fastcall panelClick(TObject *Sender);

TPanel* pl = new TPanel(this);
pl->OnClick = panelClick;

とすればよいはず。
011374NGNG
>>112
いや動的生成したオブジェクトのイベントは設定できているんですが
その動的生成したオブジェクトの中から親のフォーム内のコントロールの情報を書き換えたり
親のフォームのメソッドを叩きたいんです’

何を作っているというと
タブ型のファイラーを作っているのですが
ツリーのクリック時に親フォームのアドレスバーを書き換えたり
ツリーのポップアップメニューで新しいタブを開らきたいのです。

今困ってるのは
102さんのアドバイスを元に
動的生成したPanelのParentをTFormMainにキャスト死体のですが

UnitMain.cpp // これはメインのフォーム TFromMain
tabsheet.cpp // タブに張り付けられるパネル TFrameSheet

UnitMainからtabsheetをインクルードしているのですが
tabsheetからUnitMainに記述されている親フォーム(TFormMain)
にキャストしてやらないといけないのですが
tabsheetの方にUnitMainをインクルードすると
E2451 未定義のシンボル TFrameSheet
っていうふうになってインクルードできません
相互にインクルードはできないものなのでしょうか?

0114デフォルトの名無しさんNGNG
>>113
インクルードの順番を逆にする。
0115デフォルトの名無しさんNGNG
>>111
それコンポーネント化しないとダメなんですかね?
作者のHPみても掲示版等ないから質問もできないし
ふつうにプロジェクトに追加してやってみるとCodeGuardエラーが多発しますねこれ
サンプルのソースもあれれぇ?とか思うところが何箇所かあるし・・
0116デフォルトの名無しさんNGNG
ソフトを起動させたときにある一定のところへマウスカーソルを移動させておきたいのですが
マウスカーソルの位置を指定するにはどうすればいいのでしょうか?
0117デフォルトの名無しさんNGNG
>>115
自分はコンポーネントを使うのが嫌だったのでソースを見て流用してみて
一応は動いたのですが、よくわからない部分もあったので別の方法を採用。
手持ちの参考書を調べたら「Windows95 API パワフルテクニック大全集」に
WM_DROPFILES をドロップしたいウィンドウにポストする方法が紹介されて
いたので、試してみたところ問題なくドラッグ&ドロップできました。
ネットで調べた時は OLE を利用する方法ばかり紹介されていたのですが
WM_DROPFILES メッセージによる方法では OLE を使ってないのかな?。
よくわからないけど割とスッキリとコーディングできたし結果オーライで。
詳しいコーディングについては書籍を見てください。(今も売ってるかな?)
0118デフォルトの名無しさんNGNG
>>116
http://www.google.co.jp/search?q=SetCursorPos&lr=lang_ja
0119116NGNG
>>118
ありがとうがざいます!
調べ方が悪いらしくて途方にくれていました。
早速みてみます。ではでは。
0120100人に1人NGNG
◎人の嫌がることをズケッと言うのはこんな奴!
<アスペルガー症候群(自閉症スペクトラム)←脳の機能的疾患(遺伝が要因)>
●変化を嫌う
http://web.kyoto-inet.or.jp/org/atoz3/kado/book1/Williams-Asp.htm

●接し方のルールがわからず無邪気に周囲の人に対して迷惑なことをしてしまうことがある。人を傷つけるということには鈍感(相手の立場に立って考えられない)。
●パターン的行動、生真面目すぎて融通が利かない
 毎朝の通学電車では同じホームの同じ場所から、同じ時間の同じ号車に乗ることに決めていたりする。パターンを好むということは反復を厭わないことでもある。
●アスペルガー症候群の子どもは(大人も)感覚刺激に対して敏感。敏感さは聴覚、視覚、味覚、嗅覚、温痛覚などのいずれの感覚の敏感さもありえる(特に視覚が敏感)。
●アスペルガー症候群の子ども(大人も)は予測できないことや変化に対して苦痛を感じることが多い。
http://www.autism.jp/l-02-03-aspe3.htm

●独り言を言うことが多い(考えていることを口に出す)
●物事をいつまでも同じにしておこうとする欲求が強く、そうでないと非常に不安。いわゆる「こだわり」。
●自発的に行動することが少なく、興味の幅が狭い
●物まねをしているような不自然な言語表現
●自閉症スペクトラム全体としては一万人に91人(およそ100人に1人)。
http://www.ypdc.net/asuperugar.htm

★自閉症スペクトラムの考え方(アスペルガーに至らない気質の偏りもある(遺伝性))
http://www.imaizumi-web.com/030413.html  
   
★アスペルガー症候群(自閉症スペクトラム)かどうかのテスト
http://twitwi.s10.xrea.com/psy/add.htm 
http://www.geocities.co.jp/Beautycare/5917/as/marksheetmake.html


0121_NGNG
http://homepage.mac.com/hiroyuki44/hankaku05.html
0122デフォルトの名無しさんNGNG
>システムエラー。コード127.
>指定されたプロシージャが見つかりません。

こういうエラーが出ますが、AnsiToUtf8みたいな関数使ってると、WinXPでしか動作しない、
みたいなことありますか?
0123デフォルトの名無しさんNGNG
よろしく
0124122NGNG
やっぱ、IBXが関係しているみたいでつ。
IBXの配布方法きぼん。
0125デフォルトの名無しさんNGNG
(・∀・)ニヤニヤ
0126ミ;゚Д゚彡 ◆A6VzDeLphI NGNG
>>117さん
すごいっすね。OLEDI&Dのコンポーネント利用するしか
頭になかった。
0127デフォルトの名無しさんNGNG
Animateコンポーネントを使ってAVIファイルの再生は出来るのですが、
tフレーム目の (x, y) 座標のRGB値を取得する方法はありますか?
0128デフォルトの名無しさんNGNG
>>117
うおおおお!!!
それマジっすか?
ソースきぼんぬ!
0129デフォルトの名無しさんNGNG
あれれ?
WM_DROPFILESで自作アプリ→エクスプローラにD&Dできるの?
0130デフォルトの名無しさんNGNG
そうか。 >>110 はエクスプローラに D&D したかったんですね。
自分の場合はテキストエディタ等のアプリに D&D したかったので
エクスプローラでは確認してませんでした。
確かに >>129 の言うとおりエクスプローラへは D&D できないみたいですね。
受取るアプリ側で WM_DROPFILES を処理してないとダメってことなのでしょうね。
WM_DROPFILES の受取り処理をしているらしいファイラー等ならファイルの
コピー等もできるのですが・・・。
まぁ必要に応じて OLE or WM_DROPFILES のどちらで処理するかは使い分けかな?。
でも OLE で処理した方が確実なのでしょうね。
0131デフォルトの名無しさんNGNG
OLEで>>110を行う方法を教えて下さい。
0132デフォルトの名無しさんNGNG
>>131
方法1: >>111 のコンポーネントを利用
方法2: >>111 のコンポーネントのソースを流用
方法3: 自分でOLEのD&D方法を調べてコーディング
0133デフォルトの名無しさんNGNG
>>132
 >>115
0134デフォルトの名無しさんNGNG
>>133
DelphianWorld行け。
2個くらいあったはず。
0135デフォルトの名無しさんNGNG
C++Builderをダウンロードしたけど使い方がわかんない
exeファイルをクリックしてもすぐ閉じちゃうし、fconvert.exeと言うファイルはクリックしてもすぐに終了はしないけど
何なのかが分らないし
0136デフォルトの名無しさんNGNG
>>135
体験版か?まずは英和辞典を用意しろ。
もしくは日本語版を買え。
0137デフォルトの名無しさんNGNG
>>135
BCC5.5インストールと使い方
http://www6.plala.or.jp/mnagaku/cmag/ac20005/

10分ではじめるBCC
http://hp.vector.co.jp/authors/VA017148/pages/install/bcc.html
きときと-CPad
http://hp.vector.co.jp/authors/VA017148/pages/cpad.html#cpaddownload
0138デフォルトの名無しさんNGNG
>>135
Borland C++ Compiler ≠ Borland C++ Builder
0139デフォルトの名無しさんNGNG
すいません、VCからの乗り換え考えてるんですが、
VCみたくエディタ内での、
関数のパラメータ表示、マクロの定義表示、構造体メンバ表示、型ガイド表示などの
ナビゲーション機能はありますか?
0140デフォルトの名無しさんNGNG
>>139
BCBはVCみたいなうんこじゃないからそんなの必要ないと思うけどなぁ
俺は逆にVCやって勝手にメンバ表示されてウザかったが
0141デフォルトの名無しさんNGNG
CPUファンの回転数を知るにはどうすればいいのですか?
マザボによって違うというのはわかるので、とりあえず intelの
マザーボードの場合を調べようと思い intelのページに行ってみたのですが、
載ってませんでした。
0142デフォルトの名無しさんNGNG
>>139
ある。
けど、俺は切ってる。うざいから。
0143デフォルトの名無しさんNGNG
#include <stdlib.h>
#include <time.h>
とかって敢えて定義しなくてもいい?
0144デフォルトの名無しさんNGNG
Fri, 13 Jun 2003 20:34:41 +0900
って形式を
yyyy mm dd hh:mm:ss の書式に変換するライブラリってVCLにある?
0145デフォルトの名無しさんNGNG
>>140 >>142
VC、BCBは遅いのでうざい。
0146デフォルトの名無しさんNGNG
>>144
あるよ
0147デフォルトの名無しさんNGNG
>>146
まじデスか!?
見つからなかったから作っちゃったYO..
0148デフォルトの名無しさんNGNG
delphiとBCBのどちらかを極めて神になりたいのですが
どちらが神レベルまでなりやすいでしょうか

自分はC言語の多少とPascalの多少を知っているのみです。

明日どちらかを買う予定です。
0149デフォルトの名無しさんNGNG
>>148
HSP
0150148NGNG
>149

耳糞つまってません?
0151デフォルトの名無しさんNGNG
>>150
目糞じゃないの?
0152デフォルトの名無しさんNGNG
>>148
BCBのベースはDelphiだし、資料が豊富だし
やっぱDelphiじゃないですか?
とか言ってる漏れはヘッポコBCB使いなわけですが
0153デフォルトの名無しさんNGNG
> 資料が豊富だし
正確には、VCLに関しての資料。
ライブラリ、アルゴリズムなどの重要な資料はC++の方が多い。
0154デフォルトの名無しさんNGNG
> BCBのベースはDelphiだし
正確には、BCBで使用しているVCLのベース。
0155152NGNG
>>153-154
仰るとおりです、ご指摘・訂正ありがとです
0156デフォルトの名無しさんNGNG
2画像の差分画像の作成をしたいのですが
うまくいきません。
どこが間違っているのかご指摘いただけないでしょうか?
環境はC++Builder6Proです。


for(int y=0;y<bmp->Height;y++){
BYTE *line_a = (BYTE*)bmp_a->ScanLine[y];
BYTE *line_b = (BYTE*)bmp_b->ScanLine[y];

//差分処理
*line = BYTE(*line_a) - BYTE(*line_b);
line_a++;
line_b++;
}
0157デフォルトの名無しさんNGNG
PixelFormat と言おうとしたのだけど、そのコードじゃ左端の1ラインしか
とれないっつう問題ではないか?
0158デフォルトの名無しさんNGNG
間違ってるほうのソースを出してしまいました^^;
コンパイルは通るのですが、
実行すると差分のとこでエラーが出て止まってしまいます。


for(int y=0;y<bmp->Height;y++){
BYTE *line_a = (BYTE*)bmp_a->ScanLine[y];
BYTE *line_b = (BYTE*)bmp_b->ScanLine[y];


for( int x = 0; bmp->Width * 3; x++ ){
*line_a = BYTE(*line_a) - BYTE(*line_b); //ここで止まる
line_a++;
line_b++;
}
}
Image3->Picture->Assign(bmp);
0159デフォルトの名無しさんNGNG
大きく間違ってないから、もう少し足掻いてみれ。足掻くことが重要。
0160デフォルトの名無しさんNGNG
足を掻く?詳しくってことでしょうか?とりあえず、ソースすべて出しますね

Graphics::TBitmap *bmp = new Graphics::TBitmap();
Graphics::TBitmap *bmp1 = new Graphics::TBitmap();

try{
bmp->Assign(Image1->Picture);
bmp->PixelFormat = pf24bit;
bmp->HandleType = bmDIB;
bmp1->Assign(Image2->Picture);
bmp1->PixelFormat = pf24bit;
bmp1->HandleType = bmDIB;

for(int y=0;y<bmp->Height;y++){
BYTE *line = (BYTE*)bmp->ScanLine[y];
BYTE *line1 = (BYTE*)bmp1->ScanLine[y];

for( int x = 0; bmp->Width * 3; x++ ){
*line = BYTE(*line) - BYTE(*line1);
line++;
line1++;
}
}
Image3->Picture->Assign(bmp);
__finally{
delete bmp;
delete bmp1;
}

0161デフォルトの名無しさんNGNG
> 足を掻く?
ワロタ 天然か
0162デフォルトの名無しさんNGNG
足掻く
あがくって読むんですね〜
知らなかった^^;

0163デフォルトの名無しさんNGNG
一瞬、何が悪いのか気付かなかった…
超ケアレスミスじゃん!>for文
0164デフォルトの名無しさんNGNG
めっちゃワロタガナ
0165デフォルトの名無しさんNGNG
>>164
いやいや、明日は我が身と思わなくては・・・
0166 NGNG
VCのTRACEみたいなデバック用の出力文みたいのないの?
0167デフォルトの名無しさんNGNG
>>166
あるよ
0168デフォルトの名無しさんNGNG
オーバーフロー
0169 NGNG
>>167
名前を教えてください。
0170113NGNG
>>113なんですが
手が空いている時に試しているのでですが
>>114さんのアドバイスのインクルードの順番を変更しているのですが
全然うまくいきません

ヘッダの部分を上げてみますので
どなたかアドバイスもらえませんか?
0171113NGNG
// こっちがメインのフォーム

#ifndef UnitMainH
#define UnitMainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <ComCtrls.hpp>
#include <ToolWin.hpp>
#include <Buttons.hpp>
#include "tabsheet.h"
//---------------------------------------------------------------------------
class TFormMain : public TForm
{
__published:// IDE 管理のコンポーネント
TPanel *PanelBottom;
TPanel *PanelTop;
TPageControl *PageControlMain;
TEdit *EditBar;

private:// ユーザー宣言
vector<TFrameSheet*> FrameSheet;
vector<TTabSheet*> TabSheet;
int tabCnt;

public:// ユーザー宣言
__fastcall TFormMain(TComponent* Owner);
AnsiString createTab(AnsiString path);
};
0172113NGNG
// こっちがタブシートに張り付けられるパネル

#include <vcl.h>
#pragma hdrstop
#include "tabsheet.h"
#include "UnitMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFrameSheet *FrameSheet;
//---------------------------------------------------------------------------
__fastcall TFrameSheet::TFrameSheet(TComponent* Owner)
: TFrame(Owner)
{
}
0173デフォルトの名無しさんNGNG
tabsheet.hでUnitMain.hをインクルードしてるんじゃないの。
0174デフォルトの名無しさんNGNG
動画処理をしているのですが、AVIファイルの各フレームごとの
x座標・y座標のRGBデータを取得する関数はあるのでしょうか?
0175デフォルトの名無しさんNGNG
Builder 6 で
MFCのCStringtとかCFileとか
使うにはどうすればいいですか?

http://www.borland.co.jp/qanda/cbuilder/c0009332.html
これやっても、

[リンカ 致命的エラー] Fatal: ファイル ADVAPI32.LIB が開けません

言われます。
プロジェクトに、追加したり
#pragma comment(lib,"Psdk/ADVAPI32.LIB")
しても、駄目ぽ。
0176デフォルトの名無しさんNGNG
>>174
俺は、DirectShowでがんばった。
0177175NGNG
自己完結。

パスに
$(BCB)\lib\Psdk
追加でできた。
0178デフォルトの名無しさんNGNG
>>174
Video for Windowsで簡単にできるよ
0179113NGNG
>>173
> tabsheet.hでUnitMain.hをインクルードしてるんじゃないの。

hでインクルードしているのがまずいかと思って
cppファイルでインクルードしてみたけどだめです
型名が必要っていうコンパイルエラーが消えません
0180デフォルトの名無しさんNGNG
メモ帳を作ってみてるんですけど、ドラッグアンドドロップがうまくいきません。
1.MessageDlg関数で、なぜか最後面にいってしまう。
  (他のウィンドウの後ろに隠れてしまう)
2.Show関数が働かず、最前面にきてくれない。
アドバイスよろしくお願いします。
0181180NGNG
class TMainForm : public TForm
{
  ...
BEGIN_MESSAGE_MAP
  MESSAGE_HANDLER(WM_DROPFILES, TWMDropFiles, WMDropFiles)
END_MESSAGE_MAP(TForm)
  ...
};

void __fastcall TMainForm::FormCreate(TObject *Sender)
{
  ...
  ::DragAcceptFiles(Handle, true);
}
0182180NGNG
void __fastcall TMainForm::WMDropFiles(TWMDropFiles &msg)
{
  if ( Memo->Modified ) {
    int res = MessageDlg(g_strFileName + " は更新されています。保存しますか?",
        mtWarning, TMsgDlgButtons() << mbYes << mbNo << mbCancel, 0);  // 質問1
    ...
  }

  char filepath[MAX_PATH];
  ::DragQueryFile((HDROP)msg.Drop, 0, filepath, MAX_PATH);
  g_strFilePath = filepath;
  g_strFileName = ExtractFileName(g_strFilePath);
  Memo->Lines->LoadFromFile(g_strFilePath);
  SetAppTitle();
  ::DragFinish((HDROP)msg.Drop);

  Show();   // 質問2
}
0183180NGNG
環境書き忘れてました。
・Win98
・C++Builder 5
です。
0184デフォルトの名無しさんNGNG
age
0185113NGNG
113のインクルードの問題は一応解決できました。
動的生成したコンポーネントの中から
親コンポーネントのメソッドを叩くことが出来ました。

ただヘッダファイルででTFrameSheetを使用するとどうがんがってもコンパイル出来ません
cppで使用するのは可能なのですが

vector<TFrameSheet*> FrameSheet;
vector<TTabSheet*> TabSheet;

↓こうするとOK

//vector<TFrameSheet*> FrameSheet;
vector<TTabSheet*> TabSheet;

ヘッダの中では使用できないのでしょうか?
0186デフォルトの名無しさんNGNG
んなこたない。がんがりすぎて、おかしな事になってるんじゃないか。

とりあえず、vector<TFrameSheet*> FrameSheet; の前のどこかに
class TFrameSheet; って書いておけば、コンパイルは通るようになるだろうけど。
0187デフォルトの名無しさんNGNG
TQuery->RequestLiveってのがありますよね。
TIBQueryではどのプロパティが該当しますか?
0188デフォルトの名無しさんNGNG
例えば↓こんな感じでプログラムからシステムコマンドを呼び出す時に
system("dir > out.txt");
コンソールウィンドウを表示しないでコマンドを実行させる方法ってある?

0189デフォルトの名無しさんNGNG
> コンソールウィンドウを表示しないでコマンドを実行させる

#include <stdio.h>
FILE *_popen (const char *command, const char *mode);
popen ではなく _popen です。
例
FILE *pf;
char buf[256];
char *p;

pf = _popen("dir","rt");
if (pf == NULL) return MISS;
while ((p = fgets(buf, sizeof(buf), pf)) != NULL) {
;
}
_pclose(pf);




0190113NGNG
>>186
感謝
できますた!!
もうちょっと基礎を学びます
0191デフォルトの名無しさんNGNG
質問です。
BCB6Pro で Examples\DBTasks\LookUp のフォルダに収められている、
lookupex プロジェクトというのがあります。

このプロジェクトをコンパイルして実行します。

このサンプルの Customer 列を編集しようとすると、
コンボボックスが出てくるのですが、
この仕掛けがどのように実現されているのかわかりません。

DMMain っていうデータモジュール上の CustomerSource が
絡んでいる…と踏んだのですが、DBGrid 上の Customer 列と
連動させているような部分をソースから見つける事ができませんでした。

どこをどういじればあのような動作になるのか、
識者の方々ご教授頂けないでしょうか。
0192デフォルトの名無しさんNGNG
フォームをnewで作成した場合、deleteとReleaseで削除する方法がある
のですが、両者の違いがよく分かりません。deleteでエラーが出る場合
はReleaseを使えという説明を目にしたのですがdeleteよりReleaseを使った
ほうがいいんでしょうか?
0193デフォルトの名無しさんNGNG
>>192
ヘルプのTForm::~TForm
0194デフォルトの名無しさんNGNG
Releaseは、自分自身にPostMessageして、そこでdeleteするので、
フォームを消したいけれど、呼び出しもとがreturn後もフォームに触るので
即座にdeleteするとアクセス例外が出るような時に使えます。
(逆に、即座に消したい時はdelete)

まあ、よくわからなければReleaseでいいかと。
Closeして、OnCloseでcaFreeって手もあるけど。
0195デフォルトの名無しさんNGNG
int brk;
double a = 216.1;
double b = 2161;

if( a < (b/10) ){

brk = 1;
}

以上のような処理をボタンのイベント処理で
実行させると brk = 1 のところの処理を通ってしまいます。
b/10 をdouble c などに代入して if( a < c )
とすると正常に動作します。。 
なぜ?
教えて君で申し訳ありませんが、どなたか教えてください。
環境はBuilder5 です。
0196_NGNG
http://homepage.mac.com/hiroyuki44/
0197デフォルトの名無しさんNGNG
C++BuilderとVC++
C++BuilderとDelphiでは速度はどちらが速いのですか?
0198デフォルトの名無しさんNGNG
>>195
0.1は、二進数でキッチリ現わせないから誤差が出る。
0.5=1/2=0x0.1 とか、 0.75=3/4=0x0.11 とかならOKかな?(試して無いよ
0199192NGNG
>>193,194
回答有難うございます。いつもはdelete使っていたのでReleaseを使わないと
まずい事があるのかなと思ったもので。
0200デフォルトの名無しさんNGNG
>>197
よく出る質問だけど、その質問はどういう意味なの?

 BCB/VC++と BCB/Delphiで同じコードをコンパイルしたらどっちが速いかという意味なら、
  それぞれのコンパイラには得意・苦手があり、必ずこうという事は言えない。
  スポット的な最適化能力はVC++が上だけど、それが実際に速いかどうかは場合によりけり。
  実感としては同じ程度だね。
  BCBとDelphiは共通でコンパイル出来るコードはPascalで、それは同じコンパイラを使うので同じ結果になるだろう。

コンパイラのコンパイル速度なら圧倒的にDelphiだ。
0201デフォルトの名無しさんNGNG
例えば
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1050452299

こういうコードならDelphiが最速になるよ
0202デフォルトの名無しさんNGNG
C++のコードとDelphiのコードを比べたら大概C++の方が速いけどね。
0203デフォルトの名無しさんNGNG
>>187
このプロパティ、ヘルプ読んでも意味不明で萎えたが、
SELECT した結果を編集したい、ってこと?
それなら TIBDataSet 使えばいいんじゃない? 自前で UPDATE 文を用意する必要はあるが。
0204デフォルトの名無しさんNGNG
>>202
不思議だね。自分が書いたら何故かDelphiの方が速い事が多い。
0205デフォルトの名無しさんNGNG
BuilderでMFC使えないの?
CStringの
operator= (LPCSTR)
のやつが、うまくく認識されずに
コンパイルエラー

どうやったらいいですか?
0206デフォルトの名無しさんNGNG
>>204
もっとC++を勉強しろ。
0207デフォルトの名無しさんNGNG
>>205
どういうコードで、なんていうエラー?
0208205NGNG
うほっ
なんかしらないけど、
うまくいけた。

0209デフォルトの名無しさんNGNG
>>204
>>206
コンパイラの得手不得手があるんで一概には言えんだろ。
たまたま204の書くコードが、dcc32の最適化と上手くハマってるってことじゃないか?

bcc32の方は、-k-を指定しても、__fastcall以外はpush ebp; mov ebp, espされてしまうし…
全部espで操作するコードを期待してるのに
0210デフォルトの名無しさんNGNG
これからBuilder6入れようと思うんだけど、
ハードディスク何メガぐらい取られますか?
0211デフォルトの名無しさんNGNG
>>210
箱の裏に書いて無いか?
0212デフォルトの名無しさんNGNG
いや。落とすから箱は無い。
0213210NGNG
アップグレードで申し込んだから
箱といっても地味なダンボールですが
0214デフォルトの名無しさんNGNG
漏れは400MBぐらい。
0215デフォルトの名無しさんNGNG
>>213
ウソコケ
アップグレードで買ったが正規版の箱で送られてきたぞ
それとも俺が優待でアップグレードしたからだってのか?
0216210NGNG
>>214
ありがとう

>>215
粘着ですね。
毎回真っ白い箱で届きますよ。
0217デフォルトの名無しさんNGNG
>>215
あー、わかったわかった。
0218デフォルトの名無しさんNGNG
500MB超えてるなー
0219デフォルトの名無しさんNGNG
>>216=210
便乗で粘着するが俺のアップグレードもあの青い箱がきたぞ。
人によって違うのか?
で、その箱には 650MB 以上必要と書いてある(Pro版)。
0220デフォルトの名無しさんNGNG
オレもアップグレードだけど店頭で売っているのと同じ青い箱だったよ。
バージョン5までは素っ気無い白い箱で届いてたのでちょっと嬉しかった。
0221215NGNG
>>216
本件に関して初カキコなのに粘着などと、どういう了見かな?
0222デフォルトの名無しさんNGNG
>>221
そういう追及をするところが粘着という了見なわけだが
0223デフォルトの名無しさんNGNG
俺もPRO6アップグレード青箱で来た。白箱の人もいたのだろうか。
0224デフォルトの名無しさんNGNG
でも >>216 の「粘着ですね。」も失礼な言いぐさだな。
>>210 以外で白い箱だった人っているの?。
0225デフォルトの名無しさんNGNG
聞いた事ないな。
白と青の二通りがあるなら、ずっと前にMLで話題になってるんじゃねえ?
0226デフォルトの名無しさんNGNG
>>224
丁寧な言い回しではないかw
0227215NGNG
>>222
言われっぱなしで泣き寝入りしろと?

 フ ザ ケ ル ナ
0228デフォルトの名無しさんNGNG
( ´,_ゝ`)プッ

 フ ザ ケ ル ナ

だって
0229デフォルトの名無しさんNGNG
リキむとミがでるぞ
0230デフォルトの名無しさんNGNG
フ ザ ケ ル ナ

ライジング・サンを思い出した
0231デフォルトの名無しさんNGNG
いちいち突っ込む奴全員粘着ケテーイ(w
0232デフォルトの名無しさんNGNG
┐(´ー`)┌
0233デフォルトの名無しさんNGNG
>>227
いや、いくらなんでも泣き寝入りしなくてもいいんじゃないか
0234デフォルトの名無しさんNGNG
>>210 が本当に C++Builder6 を持っているかどうかも怪しいもんだな。
大体持っているならあんな質問するかねぇ。買う前なら考えられなくもないが
箱が仮に白いヤツだったとしてもマニュアルとか見れば書いてあるだろうし。
多分過去にはアップグレードしたことがあって、同じと思い「白い箱」とか
書いてしまったとか?。どういうつもりだったのかは理解し難いが・・・。

まぁ どうでもいいや。w
0235デフォルトの名無しさんNGNG
>>224
Builder持ってないし、ちゃちゃを入れると面白いと思って書いてるだけだけど、
>>220を見る限り古いバージョンでは白い箱があったようなので
確実に、>>210が嘘とも言い切れない予感
まぁ、何で某に電話して聞かないのか、不思議ではあるけど…
0236デフォルトの名無しさんNGNG
画面写真等がかかれているのは「化粧箱」
「化粧箱」にはいろいろ書かれているけれど、誤字や記述の変更などでさし変わる可能性もある。
だから内箱と化粧箱を分離するのですね。
化粧箱は製品ごと、種別(Pro とか Personalとか)でも別になるし、カラー印刷でコストもかかっているから
会社としては少しでも節約したいわけだ。
化粧箱は宣伝も兼ねているし、ショップに置く場合には必須。
アップグレード/DM ユーザーは、内容に同意の上でお金を払っているのだから化粧箱は必要なし。

けど、化粧箱をほしがるユーザーが多かったし、節約といっても全体に比べれば
たいした額ではなく、ユーザーの心情を考えるとあまり得策ではない。ということで

Delphi6あたりから、直販ユーザーに対しても化粧箱付で提供し始めた。

というのが真相。
0237名無し~3.EXENGNG
BCB6で作成したアプリケーションは初期のWin95などでも問題なく動きますか?

今BCB4使っててWin95/98/Me/NT4/2000/XPで動くアプリが問題なく作れているので
アップグレードしてもしなくても構わないんですが、
定義されてないAPIや定数がボチボチ出てきて自前で代替ロジック組むのもいい加減アレなので、
アップグレードしようかなーと。
0238デフォルトの名無しさんNGNG
>初期のWin95
は DCOM がらみで最新の COM ライブラリが提供されていないため、MS 自身が切り捨てているからねぇ。
VCL、より厳密には Delphi の RTL を使わなければ問題なく動くはず。
Delphi ではアップデートの途中で Win95 に存在しない API を使ってしまったけど、D6 RTL Update3
(通称 Variant パッチ)で修正され、某としては保証はしないけど初代 Win95 で動作するようにした。
BCB6/Update4 に D6 RTL Update を混ぜることができるのならやってみてもよいと思うけど?
0239デフォルトの名無しさんNGNG
なんちゃってプログラマなんでアレだけど、IE5 以上を入れないと
動かないとか言われることが多くなったので、どうしても W95 を対象に
するなら、そのまま 4 を使った方がよさそうな気がする。
0240デフォルトの名無しさんNGNG
int brk;
double a = 216.1;
double b = 2161;

if( a < (b/10) ){

brk = 1;
}

以上のような処理をボタンのイベント処理で
実行させると brk = 1 のところの処理を通ってしまいます。
b/10 をdouble c などに代入して if( a < c )
とすると正常に動作します。。 
なぜ?
教えて君で申し訳ありませんが、どなたか教えてください。
環境はBuilder5 です。
0241デフォルトの名無しさんNGNG
なんかデジャブ
0242デフォルトの名無しさんNGNG
なんか、何度も何度も見たような・・・

BCBとDelphiでは計算は long double (delphiの Extended) でするから b/10 と 比較はlong double でされる。



0.1 は2進数では 無限小数になるから
 (double) 1/3 < (long double) 1/3 が真になるようn
 (double) 0.1 < (long double) 0.1 が真となる
0243205NGNG
やっぱりエラーが出る

[リンカ エラー] 外部シンボル 'CString::operator const char *() const' が未解決(C:\[DEVELOP]\PACKAGE\FORM\MAINFORM_.OBJ が参照)
こんな、感じ

コードは以下
BOOL TMainForm::AddFile(const char* lpszFilePath,const char* lpszKeyName)
{
TListItem* pItem;
CFile file(lpszFilePath,0);
CFileStatus filestate;
//
file.SetFilePath(lpszFilePath);
file.GetStatus(filestate);
//
pItem = m_lstFile->Items->Add();
pItem->Caption = (AnsiString)file.GetFileName();

return TRUE;
}
void __fastcall TMainForm::ToolButton5Click(TObject *Sender)
{
if(OpenDialog1->Execute()) {
AddFile(OpenDialog1->FileName.c_str(),"");
}
}
0244デフォルトの名無しさんNGNG
>>243
#pragma link "nafxcwd.lib"
をどっかに足す。
0245205NGNG
>>244
うほっ
いけたです。

あんた神だ。

ありがとうございます。
0246デフォルトの名無しさんNGNG
遅レスでスマソ

>180
void __fastcall TMainForm::WMDropFiles(TWMDropFiles &msg)
{
  Application->BringToFront () ; // 追加

  if ( Memo->Modified ) {
以下略

で、だめかな?
0247デフォルトの名無しさんNGNG
5を使っているんだが、
コンパイルして実行するとたまにあるはずのコントロールが消えてることがある
んでオブジェクトインスペクタでそのコントロールをみると、Left、Top、Width、Heightが
とんでおmない値になってることが結構あるんだが、これ完全にバグだが
対処法ってあるんですかね?
0248デフォルトの名無しさんNGNG
Builder5で作ったアプリケーションなんですが
win2000だとヒントが出て、98だとヒントが出ません。
こういう症状って、なにか解決策ありますか?
0249デフォルトの名無しさんNGNG
>>247
数年使っているが経験なし。
バグというよりは環境を見直したほうがよいと思う。
0250デフォルトの名無しさんNGNG
>>248
98はヘルプの項目数が32767個ぐらいに制限されてませんでしたっけ?
そのせいでヒントが出ないんじゃない?
0251デフォルトの名無しさんNGNG
CB6 pro版はヨドバシカメラで61,200円 商用・業務目的 可
CB6 personal版はヨドバシカメラで9000円 商用・業務目的 不可
VC7 personal版は12800円 商用・業務目的 可

個人で商用・業務目的に開発を行なう人にとっては、
値段の問題だけで、VC選らんでる人も結構いるだろうな。
実際俺もその一人、学生ではさすがに6万円は手が出せない・・・
GUI開発をVCですると時間がかかりすぎて厳しい。

CBホスィ・・・
0252デフォルトの名無しさんNGNG
>>251
商用/業務で6万円出せない。ってのは何か間違っているよ。
いろんな事情があるんだとは思うけど。

学生がフリーウェア作る分には Personal でよいのでは?
0253デフォルトの名無しさんNGNG
アカデミック版なら半額でっせ
0254デフォルトの名無しさんNGNG
ttp://internet.watch.impress.co.jp/www/article/2003/0623/winny.htm
こんなのでニュースになるとは…
0255デフォルトの名無しさんNGNG
インプレスはv2になってからずーとWinnyのバージョンアップ報告してるよ。
よっぽど買ってるんだろ。
0256デフォルトの名無しさんNGNG
>>254
なんちゅうか・・・それ作ってるヤシはやっぱり割れてんだろなBuilder・・・・
0257デフォルトの名無しさんNGNG
>個人で商用・業務目的に開発を行なう人にとっては、
>実際俺もその一人、学生ではさすがに6万円は手が出せない・・・

この辞典でアレだなぁ・・・
0258デフォルトの名無しさんNGNG
>250
ありがとうございます。
人のパソコンで起動したら確かに出てきました。
0259 NGNG
商用なんて考えてないけどログインのやってるソフコンみたいのもだめなの?
毎月発表してて入賞すると数万円もらえたりするやつ。
あとWebで公開するときもソースも公開しないといけないの?
0260251NGNG
>>252
>>259
アルバイトで、雑誌の付録CD用のランチャープログラムを自宅で作ってるんで、
ツールは全部自前なもんで。
仕送りもほとんどないから、バイトでの収入がメインなんです。
そうなると、6万円ってまとまったお金はなかなか出せないんですよ。
家賃よりも高い金額はなかなか出せません。

みんな、お金もちなのか・・・

>>253
アカデミック版はライセンスに制限が付くとおもいました。
0261デフォルトの名無しさんNGNG
商用利用不可なんて制限あったっけ?と思ったら、6からついたのね。
5のLearningをどこかで探してみたら?>251
0262デフォルトの名無しさんNGNG
>>260
ちなみにそれって幾らもらってんの?
6万円も出せないほどの低賃金なのかな。
足元見られてるんじゃねえかなあ・・。
0263デフォルトの名無しさんNGNG
>>262
100%そういうのにまわせるわけじゃないだろ
米も味噌も買わにゃならんし、部屋代だってかかるべ
あくまでアルバイトだっていってるじゃん、それも多分単発だろ?
たいした額にゃなるまいて
0264デフォルトの名無しさんNGNG
おじさんが若いころは、そういうバイトそのものが無かったのでアレだが、
普通、開発ツールは発注元が提供するものではないのか?
たぶん、足元見られているんだと思う。
0265デフォルトの名無しさんNGNG
>>248
BCB4で起きてる現象と同じだとすると、
ステータスバーのコンポーネントを使わないでパネルとラベルとかでそれっぽく作る。

ヒントイベントは発生してるのを確認したけどステータスバーに表示されなかった
98/XP(+manifest) = ×
2K/XP = ○
0266デフォルトの名無しさんNGNG
マルチポストになるかもしれませんが...
C++スレで、
C++ではenumの要素数を取得したり、pascalでいう、lowやhiを取れない、
とレスされました。

BCBだと拡張されてて取れる、とかないですか?
0267デフォルトの名無しさんNGNG
できないよ。
0268デフォルトの名無しさんNGNG
>>266
なぜそれが必要なのかが知りたいな
0269266NGNG
あー、ごめん。C++スレで話が続いてるな。
0270266NGNG
Delphi言語で書けて、C++で書けないことってありますよね。
(templateみたいに、逆もあるけど、Delphi言語は、なんか小回りが効くような)

BCBで拡張されてないと、困るような...
0271デフォルトの名無しさんNGNG
LowやHiは別にVCLを使うために必須じゃないから、拡張されてなくても困らないんでない。
0272デフォルトの名無しさんNGNG
BCBでもRTTI で Highに相当する情報はひらえるだろう。それで十分。

そもそもC++では配列の添え字に列挙型を使ったりしないし、出来ない。
それはC++の文化とは合わないしね。
0273デフォルトの名無しさんNGNG
enum { A, B, C };

std::string strs[3];
strs[A] = "AAA";
strs[B] = "AAA";
strs[C] = "AAA";

std::cout << strs[C] << strs[B] << strs[A] << std::endl;
0274デフォルトの名無しさんNGNG
出来ないこたないだろう
0275デフォルトの名無しさんNGNG
かぶた
0276デフォルトの名無しさんNGNG
配列使わずにstd::vector使えとかそういう話?
要素数も取れるし、速度は同じ、メモリ消費は全体でポインタ2,3個分の違い。
0277デフォルトの名無しさんNGNG
>>373
だから Delphi的に配列の添え字に列挙型を使えるとるという意味はさ

enum TABC { A, B, C };
と列挙型を定義したら

int MyArray[ TABC ]; と配列を定義出来て

for( TABC i = TABC.Low() ; i<TABC.High() ; i++) とループして MyArray[i]; とアクセス出来ないと
0278デフォルトの名無しさんNGNG
>>277
とりあえずもちつけ
0279デフォルトの名無しさんNGNG
enum { A, B, C, es=3 };

std::string strs[es];
strs[A] = "AAA";
strs[B] = "AAA";
strs[C] = "AAA";

for(int i=0; i<es; i++)
 std::cout << strs[i] << std::endl;
0280デフォルトの名無しさんNGNG
>>279
enum { A, B, C, SIZE }; でOK
0281デフォルトの名無しさんNGNG
だからさ、
int i; で strs[i] と書いたら文法エラーにならないとさ
0282デフォルトの名無しさんNGNG
すでにenumの話じゃないし
0283デフォルトの名無しさんNGNG
>>270
関数内関数とか、クラス参照型(typeid相当)からのクラスメソッドの多態した呼び出しとか、
messageハンドラとか(BCBのマクロのやつはDispatchをオーバーライドしてる)、
{$L ....obj}をDelphiのユニットに別々に閉じ込めると識別子が重複してもきちんと解決してくれるとか、
externalでインポートライブラリ無しにいきなり.dllを呼べるとか、
\0が途中にある文字列定数を文字列として扱えるとか、implementsとか、そういう話?

ちなみにC++で同じことが書けなくても、間接的に利用さえできればいいので困らない。
後、enumを添え字にした配列より、0以外から始まってる配列の方が辛い気がするぞ。
(templateでどうにでもなるけど)
0284デフォルトの名無しさんNGNG
関数内関数

hoge()
{
struct Func
{
int operator()() { return 500; }
};

cout << Func() << endl;

}
0285デフォルトの名無しさんNGNG
>>284
それって、親のローカル変数に触れる?そこが最大の焦点。
(じゃないと、単に名前空間を解決しただけで機能的には普通の関数)
0286デフォルトの名無しさんNGNG
>>285
んなもん参照渡しすればいいだろ。
0287デフォルトの名無しさんNGNG
hoge()
{
struct Local
{
int nanika, aa[50], b[6];
string moji, iroiro[752];
} local;

struct Func
{
int operator()(Local &local)
{
cout << moji << endl;
return accumlate(aa, aa+50, 0);
}
};

cout << Func(local) << endl;
}

利用するローカル変数が少なければ構造体に詰めないでそのまま参照渡ししても可。
0288デフォルトの名無しさんNGNG
×
int operator()(Local &local)
{
cout << moji << endl;
return accumlate(aa, aa+50, 0);
}

○
int operator()(Local &local)
{
cout << local.moji << endl;
return accumlate(local.aa, local.aa+50, 0);
}
0289デフォルトの名無しさんNGNG
TStringGridで任意の行を非表示できますか?
0290デフォルトの名無しさんNGNG
>>286
Cには、グローバル変数、ローカル変数、の二段階しかないけど、
Pascalは好きなだけネストが可能で、内側からは外側が見えるので、
グローバル変数は単に一番外側の変数に過ぎず、間に層をいっぱい作れるわけだ。
この性質を真似できないと、ちょっと認められないなあ。

これはトップダウン式パーサとか、概念的にもネストした状態を持つものを書く時非常に都合がいい。
0291デフォルトの名無しさんNGNG
そうなんだよね。 関数内関数で外側のローカル変数との処理ってホントどう解決してるのか不思議。
単純に2段ならいいけど3段でしかも再帰してたりすると、実装どうやってるんだろ?
0292デフォルトの名無しさんNGNG
実装は拍子抜けするほど単純ですよ。二通り知ってるけど、

親のEBPの配列を保持する方式

・x86にはenter、leaveという関数内関数を実現するための命令がある

Delphi方式(スタックフレームを利用してEBPのリンクリスト)

・関数内関数を持つ関数(要するに親になる関数)は必ずスタックフレームを作る
・子を呼ぶ時は自分のEBPを隠しパラメータで渡す
・親の変数には [親のEBP + n]
・親の親には、[[親のEBP] + n] 以下同様
・兄弟を呼ぶ時は親のEBPを渡す
・親を呼ぶ時は[親のEBP]にそのまた親のEBPが入っているのでネストの段数差だけ逆にたどって取得、渡す
0293デフォルトの名無しさんNGNG
そうか。 という事は 2段以上にするのはあんまり速度的には良くなさそうだね。
0294デフォルトの名無しさんNGNG
クリティカルな処理でも無い限り別にいいじゃん。
0295デフォルトの名無しさんNGNG
>>292
あなたの言う「enter/leave」と「Delphi方式」って同じものなんですけど。
enter/leave が遅いし融通が利かないから、多くの処理系では同等の複数の命令に
分割しているだけ。

Enter/Leave は、スタックフレームを作る/開放する命令。
作成した EBP とそのチェーンを手繰って、呼び出しもとのスタックフレームを参照するのは
個々のコードの仕事。具体的には EBP のチェーンを参照することになる。
0296デフォルトの名無しさんNGNG
>速度的には良くなさそうだね。
これは真実。

さて。名前(空間)の衝突を考えなければ、親関数のローカル変数と子関数のローカル変数は
同一のストレージにとることができる。スコープと寿命の問題はメモリ実体とは切り離して考
えることができるからね。

本質的にスタックフレームを作らなければいけないのは、直接/間接に再起呼び出しを行う場合
だけだ。ある関数が再帰呼び出しされるかどうか、その結果本質的に同じ名前の変数を複数生成
し、かつ弁別する必要があるかどうかをコードからコンパイラが知ることは非常に困難だ。
だからほとんどの処理系では再帰呼び出しされても大丈夫なようにスタックにフレームをとる。

しかし、現実のアプリケーションにおいて再帰呼び出しが起きることは非常にまれだ。

ということで、意味的にローカル変数であるものをすべてグローバル変数として領域を割り当てる。
もし再帰呼び出しが発生したら、そのときに、古い(ローカル)変数群をスタックに保存。
再帰関数が終了した時点で、スタックから古い変数の値を復元。

という処理系が存在した。ローカル変数をスタックに取らないため、ほとんどすべての変数参照が
絶対アドレス参照となり、再帰使わなくても高速。

0297デフォルトの名無しさんNGNG
>>295
 勘違いしてるカモ

 Delphi方式というのは
  function f1(x:Integer):Integer;
var y:Integer;
  procedure f2;
  begin if x>0 then begin dec(x); f2; end; //2
  end;
begin
  f2; //1
  Result:=y;
end;
とあったとき、
//1では push EBP; call f2 と渡されて この渡された スタックフレームを基準にして x,y を処理する
//2 では f2内部で作ったEBPでなく、この渡された 値をpush してゆく
0298デフォルトの名無しさんNGNG
>>296
キャッシュがあるCPUでは、ローカル変数よりスタックフレームの方が速いかもしれないね。
スタックだと、キャッシュ上で上書きされる率が高く、上書きされたら実際に書き込みをする必要が無くなるから
0299デフォルトの名無しさんNGNG
>>295
enterの場合、例えば三重ネストなら、親のEBP、と、親の親のEBPが、スタックに配列状に置かれる。
あと>>297のようにEBPをパラメータで受け取る必要は無い。enterの値に応じて集めてくれる。

>>296
今だとマルチスレッドがあるから、グローバルに領域を取るとまずいかもね
0300デフォルトの名無しさんNGNG
コンストラクタとOnCreate、デストラクタとOnDestroyの違いがよくわかりません。
どういう違いがあり、どう使い分ければいいでしょうか?
0301_NGNG
http://homepage.mac.com/hiroyuki44/
0302デフォルトの名無しさんNGNG
>>300
C++の場合、virtual関数を多態して呼びたい時は、OnCreate/OnDestroyかな。
0303デフォルトの名無しさんNGNG
コンストラクタに記述すると、そのクラスの動作を変更したわけだから、
すべてのインスタンスで有効になる。
OnCreate に記述すると、イベントだから、インスタンス毎に異なる動作を
記述できる。

違いはこれでわかるかな?
0304デフォルトの名無しさんNGNG
win2kとwinNT4でまったく同じプロジェクトをコンパイルしても
win2kのほうが20Kくらい大きいexeが出来上がるのですが、
そういうものなのでしょうか?
0305デフォルトの名無しさんNGNG
CBuilder で NT4 での動作保証していたのってバージョンいくつまでだっけ?
>>304 そういった話を聞いたことはありませんが、.map を出してみて比較すると
自己解決するのではないかと。
おそらくは何かコンパイルオプションが食い違っているのではないかと。
0306デフォルトの名無しさんNGNG
void unc(double t)

 中略

void func(double t)
{
if(RadioButton1->Checked == true ) {
中略
}

って関数作っても
[C++ エラー] Unit1.cpp(162): E2451 未定義のシンボル RadioButton1
です
ほかのところではRadioButton1はちゃんと読めてるみたいなんだけど
自分で勝手に作った関数じゃうまく動いてくれない
何が考え方おかしいの、どうすりゃ動いてくれるかな、help me

BCCでつくったのをBCB6に移植しようとしてます
0307デフォルトの名無しさんNGNG
>>306
RadioButton1はどっかのフォームのメンバ変数じゃないの?
そのフォームクラスに所属してない関数からならアクセスできるわけないが。
0308デフォルトの名無しさんNGNG
Form1->RadioButton1->Checked 〜
0309デフォルトの名無しさんNGNG
>>307
class TForm1 : public TForm
{
__published:// IDE 管理のコンポーネント
   TRadioButton *RadioButton1;
以下略

unit1.hでこんな風に宣言されてる
俺が作ったfuncという関数はこのフォームクラスに所属してないの?
どうすれば所属させられる?
0310デフォルトの名無しさんNGNG
>>308
さんくす、超出来たっぽい
ありがとございます
0311デフォルトの名無しさんNGNG
DB〜というコンポーネントなんですが
これって使用する際はDBのセッションを開きっぱなしにしないといけないのですが?
DBをクローズすると内容とかなくなっちゃいますよね?
0312デフォルトの名無しさんNGNG
コンポーネントの新規作成で、TIBQueryを派生させて、
MyQuery->SQL->Text = "select * from ATABLE";
みたいなことすると、「Empty query.」という変なエラーがでます。
それも、MyQuery->SQLをTStrings*でdynamic_castしてもOKだし、
Strings->Clear(); Strings->Add(Ssql);とすると、Addで同エラー。
すげー変。
0313312NGNG
それも、同じソースの場所で、
TIBQueryを素で使って同じことをすると、何も起こりません。

みなさんも試してみて下さい。
0314デフォルトの名無しさんNGNG
>>313
ソース追ってみたら?
0315312NGNG
コンポーネントの新規作成せずに、TIBQueryの空の派生、つまり名前を変えるだけの派生をすると、
newしているところで、
>[C++ エラー] : E2125 コンパイラは 'default constructor' クラスの を作成できない
というような、エラーとなります。
コンストラクタが消える???

ちなみにBCB6でつ。
0316312NGNG
>>314
ソース追った結果が、TIBQuery->SQLの実態はTStrings*でつ。
また、dynamic_castでも、それが正しいという結果です。
VCLの中をデバッグしようとすると、汗画面に飛びます。
0317デフォルトの名無しさんNGNG
>>316
ソース見ると、OnChangeに代入してるQueryChangedが呼ばれてるはずということもわかるね
0318デフォルトの名無しさんNGNG
>>315
親が引数をとるコンストラクタしか持ってないから、
派生したクラスでコンストラクタを省略することは出来ないよ。
0319312NGNG
>>318
はつみみですた。
>>317
確かに、
>TStringList(SQL).OnChange := QueryChanged;
こういう行ありますね。
ウワーン何が起こってるのか分からないYO〜
0320デフォルトの名無しさんNGNG
>>319
だからTStringListはOnChangeにコールバックが設定されていると
内容の変更があったときにそれを呼んでくれるの。
だからエラーはそのコールバック(設定されているTIBQuery.QueryChanged)の
中で起きてるんでしょう。
ってその中でブレークポイントとかって設定できないんだっけ?
<BCBは最近使ってないのでスマソ
0321320NGNG
>>320
プロジェクトオプションのリンカタブで
デバッグライブラリを使う(D)
をチェックしとけばデバッガで中を追えるはずか。
0322312NGNG
VCLデバッグはしてますが、ブレイクポイント無いと、汗画面でした。

>procedure TIBQuery.QueryChanged(Sender: TObject);
>var
> List: TParams;
>begin
> if not (csReading in ComponentState) then
> begin
> Disconnect;

ここでエラー起こしてます。
Disconnectなんてされても困るな...
0323312NGNG
もう一つ分からないのが、派生前と派生後(名前変えただけ...)で動作が違うのは???
0324デフォルトの名無しさんNGNG
どう違うの
0325312NGNG
>>324
派生しない場合も、Disconnectの中に入ってました。

で、派生後クラスのDisconnectの中に入ると、
>function TIBCustomDataSet.PSGetTableName: string;
>begin
>// if not FInternalPrepared then
>// InternalPrepare;
> { It is possible for the FQSelectSQL to be unprepared
> with FInternalPreprepared being true (see DoBeforeTransactionEnd).
> So check the Prepared of the SelectSQL instead }
> if not FQSelect.Prepared then
> FQSelect.Prepare;
ここに飛んで落ちます。
0326312NGNG
それも、F7を押した瞬間、Disconnectメソッドに飛ばずに、
「TIBCustomDataSet.PSGetTableName」に入るので、???です。
0327デフォルトの名無しさんNGNG
これインストールしたときなんか向こうの鯖にアクセスしてたんだけど、これってXPのアクティベーションみたいなやつ?
一本のソフトで複数のコンピュータに入れることは出来ないの?
0328デフォルトの名無しさんNGNG
>>327
できます。
0329デフォルトの名無しさんNGNG
OleVariant() ってもしかしてやばい?
MSComm取り込んで、MSComm->Output=OelVariant(AnsiString hoge);
とかやると、リークしまくるのだが。
0330デフォルトの名無しさんNGNG
>>328
わかりました、ありがと
0331  NGNG
C++Builder6で使用している Direct X のバージョンは?
ボーランドのサイトではC++Builder3までしか書いてないので教えてください。
0332デフォルトの名無しさんNGNG
>>331
意味不明
0333デフォルトの名無しさんNGNG
最初から入ってるのは7.0かな。
0334331NGNG
新たにDirectXSDKをインストールしなくてもプログラムをコンパイルできるのはってことでした。
>>333
ありがとう。
0335312NGNG
ibquery.pasで、
>TStringList(SQL).OnChange := QueryChanged;
こんなキャストがあるけど、これって大丈夫なのかな?
0336デフォルトの名無しさんNGNG
>>335
FSQLを設定する部分でしっかりTStringListしか入れないようにさえなってれば
大丈夫でしょ。
0337312NGNG
その通りでした。>>336
>FSQL := TStringList.Create;
になってますね。

ところで、
>constructor TIBQuery.Create(AOwner: TComponent);
を派生した場合は、派生したメソッドで
TIBQuery::Create
をコールする必要とかありましたっけ?
BCBからVCL派生はやっぱ慣れないと分からない部分とかありますよね。
0338デフォルトの名無しさんNGNG
必要というか、親のコンストラクタは、初期化リストで呼んでるでそ?
0339312NGNG
じゃ、不要ですか。>>338

「派生前と派生後(名前変えただけ...)で動作が違う」原因が分からないと、気持ち悪いよ。
というか、開発進むと行き詰まりそう。
0340デフォルトの名無しさんNGNG
は?
引数付きのコンストラクタは初期化リストでしか呼べないし、
引数付きのコンストラクタしかないクラスから派生したクラスは、
初期化リストで初期化しなきゃエラーだろ。

動作が違うとしたら「デフォルトコンストラクタが呼ばれてる」だけだから。
0341312NGNG
あ、読み間違えちゃった。 >>338 >>340

つまり、派生後のコンストラクタで、
TIBQuery::Create(AOwner: TComponent);
をコールすれば良い?
0342デフォルトの名無しさんNGNG
まず、「初期化リスト」という単語を知っている?

だいたい、ObjectPascalのコンストラクタは
C++から通常の関数のように明示的にCreateで呼び出せるの?
delphiでもinherited使うしかないんじゃなかった?
0343デフォルトの名無しさんNGNG
仮に呼び出せたとしても、
「デフォルトコンストラクタ」と「引数付きコンストラクタ」の両方を呼び出して
正常に動くとはとても思えないけど。
0344312NGNG
>>342-343
Delphiのinheritedを行うために、「TIBQuery::TIBQuery(Owner);」と書くのかな、
と思ってたんだけど違うの?

実行させても動作しないから違うみたいだね...
0345デフォルトの名無しさんNGNG
__fastcall TMyQuery::TMyQuery(TComponent* owner) : TIBQuery(owner)
{
}
こうなってれば他に特に何もしなくていいということでそ。
>>325の動作が違うって件は、わからないけど。
0346デフォルトの名無しさんNGNG
Visual C++とBCBってどれくらい違うの?
0347デフォルトの名無しさんNGNG
Borland C++ Builder 6.0 のランタイムをインストールしないでも動くようなexeファイルって作れない?
無理?
0348デフォルトの名無しさんNGNG
>>346
VC=C++ Onlyで開発できる。
BCB=Pascalが必要な上にC++と互換性がない拡張がなされている。
0349デフォルトの名無しさんNGNG
>>348
VCの方がよく見えるのですけど
0350デフォルトの名無しさんNGNG
じゃあVC使えばいい
0351デフォルトの名無しさんNGNG
>>347
できる
0352デフォルトの名無しさんNGNG
>>348
VC =C++ Onlyでしか開発できない。Visualという名前に負けている。
BCB=C++のみでも可能だが、DelphiのVCLを利用してVisualにGUI開発が出来る
0353デフォルトの名無しさんNGNG
>>351
どうやるのですか、ご教授してください
0354デフォルトの名無しさんNGNG
>>352
BCBの方がよく見えるのですけど
0355デフォルトの名無しさんNGNG
>>353
ヘルプで パッケージ のキーワードのところを順に見てけばそのうち判ると思うよ
0356デフォルトの名無しさんNGNG
>>353
プロジェクトオプションを開く
リンカタブの「共有 RTL DLL を使う」のチェックを外す
パッケージタブの「実行時パッケージを使って構築」のチェックを外す
0357デフォルトの名無しさんNGNG
>>355
thanks

>>356
どうもありがとうっ!
ファイルサイズかなりでかくなったけど出来たよ
0358デフォルトの名無しさんNGNG
>354

じゃあBCB使えばいい
0359312NGNG
度々すみませんが、「派生前と派生後(名前変えただけ...)で動作が違う」原因というかバグを把握しないと、コンパイラとして不安があるなと思ってます。

BCBオタの皆さんも312の内容を試してみて頂けないでしょうか?
0360デフォルトの名無しさんNGNG
>>359
>BCBオタの皆さん

こんな書き方すると荒らし扱いされるぞ
気をつけな
0361デフォルトの名無しさんNGNG
InterBaseインストールしてないや
0362デフォルトの名無しさんNGNG
リソースファイル(*.rc)にBMP以外の画像を埋め込みたいんですが
なぜか成功しませぬ。

[sample.rc]
RC_TITLE001 BITMAP "title.bmp"
RC_CHAR001 PNG "stand001_all.png"
RC_BM001_1 JPEG "back_test0_big.jpg"

ファイル名を直接指定した場合は描画できるんですけど
リソースIDでやった場合、BMP以外は描画不能。

ユーザに直接画像を覗かれない方法があったら教えてママン(´・ω・`)
0363デフォルトの名無しさんNGNG
[sample.rc]
JPEG1 JPEG "test.jpg"

TResourceStream* stream = new TResourceStream((int)HInstance, "JPEG1", "JPEG");
TJPEGImage* jpeg = new TJPEGImage();
jpeg->LoadFromStream(stream);

で出来たど
0364 NGNG
TTreeViewでWindowsのヘルプみたいに展開されてるかされてないかでノードに表示されてるイメージを変えるにはどうすればいいの?
0365デフォルトの名無しさんNGNG
StateImages設定して、OnCollapsedやOnExpandedでStateIndexを変えるとか >>364
0366 NGNG
>>365
ありがとう。やっぱり設計時のプロパティだけじゃ無理なのか。
イベントハンドラをかいてその中で自分で設定するわけね。
0367デフォルトの名無しさんNGNG
TDateTimePicker について質問があります。

二つのTDateTimePicker(Dtp1,Dtp2) を用意してformのcreateかなんかでそれぞれ、2003/06/27、2003/06/30と
しておきます。
この二つのTDate値を比較するときに、両方のTDateTimePickerの内容をUI上で変更すれば、きちんと比較できるのですが、
片方だけ(Dtp1)2003/06/27 を 2003/06/30 にして、比較(Dtp1->Date <= Dtp2->Date)すると、同じ値なのに(Valも同じ)、この式がfalseを返します。
Dtp2をもういちど、2003/06/30 に選びなおすと比較できます。

わかりにくくてすいませんが、どなたか解決法ご存知でしたら教えていただけませんか?

0368362NGNG
>>363 thx!
フリーのライブラリを覗いたらリソースIDをそのままCreateFile()に
用いてたのが原因ですた(´・ω・`)

bool LDImg(const char* fileName){
 HANDLE hFile;
 if(strchr(fileName,'.') == NULL)
 { //リソースIDから指定
/*
  リソース経由でCreateFileさせる方法募集(´・ω・`)ノ
  GetModuleFileName()?
*/
 }else{//ファイル名を直接指定
  hFile = CreateFile(
   fileName, GENERIC_READ,FILE_SHARE_READ,NULL,
   OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
 }
 //以下、ファイルリード処理
}
0369デフォルトの名無しさんNGNG
>>368
> リソース経由でCreateFileさせる方法募集(´・ω・`)ノ
> 以下、ファイルリード処理
リソースをメモリにロードするなら、>>363のTResourceStreamで出来るよ(stream->Memoryでロードしたデータにアクセス)。
APIでやりたいなら→http://www.kumei.ne.jp/c_lang/sdk4/sdk_317.htm
0370デフォルトの名無しさんNGNG
>>367
再現しないな。
> formのcreateかなんかでそれぞれ、2003/06/27、2003/06/30としておきます。
> 片方だけ(Dtp1)2003/06/27 を 2003/06/30 にして
この時、どういうコードで日付変更してる?
0371デフォルトの名無しさんNGNG
>>370
再現しないですかあ。

>この時、どういうコードで日付変更してる?

Dtp->Date=Now()-1; //昨日
Dtp->Date=Now()-7;//一週間前

って感じです。まずいですか?





0372デフォルトの名無しさんNGNG
Dtp1->Date=Now()-1; //昨日
Dtp2->Date=Now()-7;//一週間前

でした
0373デフォルトの名無しさんNGNG
>>370
Delphi5だと正常に動きます・・・。
0374デフォルトの名無しさんNGNG
TDateってTDateTimeをtypedefしただけで、時間も保持してるみたいだから、
時間部分の差で>>367みたいなことになったんでない?

EncodeDate使ったり、
Dtp1->Date = (int)Now() - 1;
Dtp2->Date = (int)Now() - 7;
ってやれば大丈夫だと思う。
0375デフォルトの名無しさんNGNG
う、ごめん嘘書いたみたい。カレンダーから日付取得すると、少し時間がずれてる。
比較するときに、(int)Dtp1->Date == (int)Dtp2->Date か。
0376367NGNG
>>374
ありがとうございました。(int)で動きました。
ただよくわからないのが、Valの値(少数点(時間)付)も同じだったし、Delphi5では動いたことです・・・。

0377デフォルトの名無しさんNGNG
6j pro をインストールしたんですが、使用許可のオンライン認証ってやらないと何か不都合はあるんでしょうか
もし認証をしないで済む方法、パッチなんかがあれば教えてください
0378367NGNG
>>375
設定するときと比較するとき、両方に(int)しときました。
ありがとうございました。
0379デフォルトの名無しさんNGNG
>>377
オンライン認証が苦手だな、という方は、「使用許諾コード取得フォーム」に
記載の上、ファクシミリにてボーランド株式会社インフォメーションサービスセンター
使用許諾コードお問い合わせ係 まで送ってください。
0380デフォルトの名無しさんNGNG
>>377
ホントニ正規ユーザーでつか?
0381デフォルトの名無しさんNGNG
>>377
あなたは認証をやると何か不都合があるのでしょうか
0382デフォルトの名無しさんNGNG
377ではないが、今まで買ったソフトを、一本たりとも登録した事が無い。
VS6に付いてたMSDNの無償ライセンス申し込みの期限が切れたことに
気づいた時は、さすがに嫌な気分になったが。
0383デフォルトの名無しさんNGNG
ネットに繋いでないPCにインスコする人のことも考えてほしいな
Winnyで出回ってるクラックパッチは怖くて実行出来んし
0384デフォルトの名無しさんNGNG
>>383
ネットに繋がなくても認証できるから大丈夫。
割れは恐いな。SPでどうなるかわからん。
というわけで必要なヤツは買え。
0385デフォルトの名無しさんNGNG
>>383
だから>>379の言ってるFAX認証があるのだが、何か不満か?
今時FAXが無いわけでもあるまい?
0386デフォルトの名無しさんNGNG
>>385
FAXなんかもってねーよ。必要ないし。
最近なら固定電話すら置いていない人もいるだろ。
0387デフォルトの名無しさんNGNG
割 れ 厨 必 死 だ な ( w
0388デフォルトの名無しさんNGNG
>>386
コンビニにFAXくらいあるだろ
0389デフォルトの名無しさんNGNG
>>387
俺は>>377じゃないんだが。BCBなんてもっていないし。

>>388
コンビニから送ったとして、そのあとどうなるの?
0390389NGNG
スルーか。まあいいや。
しかし興味深い・・・送った後にどうやって認証するんだろう。コンビニから送ったんじゃFAXを受けることはできないはずだし。
0391デフォルトの名無しさんNGNG
20分しか経ってないのに(w
よっぽどかじりついてんだな。
0392デフォルトの名無しさんNGNG
>>389
製品を買った方のみ、わかります。
すなおに買うことをお薦めいたします。
0393デフォルトの名無しさんNGNG
状況かいときゃ、封書ででも来るのだろう。
0394デフォルトの名無しさんNGNG
>>391
そうね

>>392
こんなことを確認するためだけに買うなんてばからしいからやめておく。
C++コンパイラならVC++があるし。

>>393
郵送か・・・なるほど。FAX送ってから届くまで時間がかかるけど他に方法がないんじゃしかたないよね。
ありがとう。
0395デフォルトの名無しさんNGNG
低質な釣り師だったな

↓ はい、次の方
0396デフォルトの名無しさんNGNG
6j pro をインストールしたんですが、使用許可のオンライン認証ってやらないと何か不都合はあるんでしょうか
もし認証をしないで済む方法、パッチなんかがあれば教えてください
0397デフォルトの名無しさんNGNG
↓ はい、次の方
0398デフォルトの名無しさんNGNG
>>396
割れ厨?
0399fopenNGNG
fopen で3.7ギガのファイルを読もうとすると、
fp = fopen( file_path, "r+b" )
fpにnullが入りうまくいかないのですが、どうにかならないでしょうか?
当然、小さいファイルは読めます。
0400デフォルトの名無しさんNGNG
>>396
アスタラへ逝け
Delphi用で(ry ゴホッ、ゴホッ・・・
0401青木照子NGNG
プログラムを実行させると次のようなエラーが出ます。

[C++エラー]E2075 Project override オプションの間違い

どうしても分かりません。
0402デフォルトの名無しさんNGNG
>>401
そうですか。
0403デフォルトの名無しさんNGNG
低質な釣り師だったな

↓ はい、次の方
0404デフォルトの名無しさんNGNG
有れば開く、無ければ作る。他のアプリから読み取りは許可する。
他のアプリが開いていても書き込める。

こんな便利なTFileSteamコンストラクタの引数は、ヘルプにのってる定数の組み合わせ(||)
で出来るんでしょうか。
0405デフォルトの名無しさんNGNG
無理だな
0406デフォルトの名無しさんNGNG
そうか。じゃあなんで動くんだろ。
0407デフォルトの名無しさんNGNG
ぜってー無理。
0408 NGNG
ボタンがクリックされたらラベルの表示を替えるプログラムで

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Label1->Caption.printf( "%d, %d", 100, 100 );
}

だと何も代わりません。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString str;
str.printf( "%d, %d", 100, 100 );
Label1->Caption = str;
}
とするとちゃんと表示されるんだけど。何故?
0409デフォルトの名無しさんNGNG
__property AnsiString Caption = {read=GetText, write=SetText...
なので、
Label1->Caption.printf(...
は、
Label1->GetText().printf(...
といふうに置き換わるから。
0410  NGNG
>>409
どうもありがとう。
まだBC++Builder始めたばっかりでプロパティの仕組みはおぼろげなんだが
GetText()が返すのはいわゆる一時的なオブジェクトでラベルの保持してる文字列ではないのかな。
とにかくCaptionの値を変えるのは代入しかないわけね。
0411デフォルトの名無しさんNGNG
MDI アプリケーションで、親フォームの閉じるボタン
(フォーム右上の×ボタン) が押されたっていうイベントを、
子フォームよりも先に親フォームで捕まえる方法ってありますか?
0412デフォルトの名無しさんNGNG
親フォームのCloseQueryをオーバーライドして、

bool __fastcall TMainForm::CloseQuery(void)
{
  // 子フォームのCloseQueryが呼ばれる前にしたい処理
  //       :
  return TForm::CloseQuery();
}

とか。あとWM_CLOSEがきた時点で処理するとか。
0413デフォルトの名無しさんNGNG
TDateTimeにtime_tはどうやったら入りますか?

time_t a;
TDateTime DateTime = a;

みたいな感じで。
0414デフォルトの名無しさんNGNG
単に代入するだけなら、
dateTime = (double)a;

時刻を変換したいなら、
http://www2.big.or.jp/~osamu/Delphi/tips.cgi?index=0088.txt
0415デフォルトの名無しさんNGNG
>>412
できますた。�dクス♪
0416413NGNG
thanx>>414

でも、面倒...
0417デフォルトの名無しさんNGNG
これでできるっぽい
dateTime = a/(60*60*24.0) + UnixDateDelta + 9/24.0;
0418デフォルトの名無しさんNGNG
>>377ですけど、結局今日6jパーソナル買ったよ
っていうか買うの3以来。
あれから3回もバージョンアップしたのか・・・
0419 NGNG
数値計算を勉強したいのですがbuilderでBlitz++を使うにはどうしたら言いのですか?
最初にソースをコンパイルしてライブラリを作らなくちゃいけないみたいなんですけどできません。。
./configure --with-cxx=[compiler]
とか何とかUNIXのシェルかなんかで実行するのなんて分けわかりません。
コマンドラインでコンパイルしたことないのでMakeとかもわかりません。
だれかコンパイルしてBC++用のライブラリ作った人いませんか。
0420デフォルトの名無しさんNGNG
なんか ZDnet でBCB講座が始まってるぞ
http://www.zdnet.co.jp/developer/0307/04/dvn01_3.html

>>419
config.h を作らないといけないからね。
http://www.google.co.jp/search?q=Blitz+BCB
で探せば?
0421419NGNG
>>420
有難うございます。config.hを探してみたら
http://www.oonumerics.org/MailArchives/blitz-dev/msg00490.php
にありました。
ただ他のヘッダファイルも変えなくちゃいけないところがあるらしく非力な自分は時間がかかりそうです。
config.h作った人は簡単にBCでもできたよといってますけど。
0422419NGNG
ライブラリの作り方はわかないけど、もともとテンプレート使ってほとんどヘッダファイルに書かれてるので
ライブラリなんか作らなくてもヘッダさえインクルードすれば最初の方の例がコンパイルできるようになりました。
420さん、ありがとう。
あとはゆっくり勉強して不都合がおきればまた調べます。
0423デフォルトの名無しさんNGNG
http://www.codeguru.com/listview/edit_subitems.shtml
のような編集可能なListViewを実装したいんですが…サンプルがVCなのでうまくできません
他にサンプルやこれを使う方法無いでしょうか…
0424デフォルトの名無しさんNGNG
>423
適当に作ってみた。

ヘッダ
class PACKAGE TListView1 : public TListView
{
private:
TEdit *Cap;
TListItem * ChangeItem;
int ChangeSubIndex;
void __fastcall CapKeyPress(TObject *Sender, char &Key);
protected:
DYNAMIC void __fastcall MouseDown(TMouseButton Button, TShiftState Shift, int X, int Y);
public:
__fastcall TListView1(TComponent* Owner);
__fastcall ~TListView1(void);
__published:
};
//---------------------------------------------------------------------------
0425デフォルトの名無しさんNGNG
実装
コンストラクタとデストラクタ
__fastcall TListView1::TListView1(TComponent* Owner)
: TListView(Owner)
{
Cap = new TEdit(this);
Cap->Parent = this;
Cap->OnKeyPress = CapKeyPress;
Cap->Visible = false;
}
//---------------------------------------------------------------------------
__fastcall TListView1::~TListView1(void)
{
delete Cap;
}
//---------------------------------------------------------------------------
0426デフォルトの名無しさんNGNG
void __fastcall TListView1::MouseDown(TMouseButton Button, TShiftState Shift, int X, int Y)
{
//アイテムを求める
ChangeItem = GetItemAt(X, Y);
if (ChangeItem == NULL || Cap->Visible == true) return;

//サブアイテムを求める
int pos = 0;
for (int i = 0; i < this->Columns->Count; i++){
pos += this->Columns->Items[i]->Width;
if (pos > X){
pos -= this->Columns->Items[i]->Width;
ChangeSubIndex = i - 1;
break;
}
}

//サブアイテム位置でなければエディット表示は行わない
if (ChangeSubIndex < 0) return;

//Edit
Cap->Visible = true;
Cap->Left = pos;
Cap->Top = ChangeItem->Top;
Cap->Text = ChangeItem->SubItems->Strings[ChangeSubIndex];
Cap->SetFocus();
}
0427デフォルトの名無しさんNGNG
//エディットのキー操作
void __fastcall TListView1::CapKeyPress(TObject *Sender, char &Key)
{
if (Cap->Visible == true && Key == VK_RETURN){
ChangeItem->SubItems->Strings[ChangeSubIndex] = Cap->Text;
Cap->Visible = false;
}
}
//---------------------------------------------------------------------------
あとは勝手に改造してください。
0428デフォルトの名無しさんNGNG
あ、vsReportで、RowSelectはtrueにしておいてね。
0429423NGNG
>>424-428
おぉ…ありがとうございます。
使わせて頂きます
0430デフォルトの名無しさんNGNG
>>424-428
すばらしい。。。便乗させてもらいます。
0431デフォルトの名無しさんNGNG
……見返したら許せないバグがあるんで、訂正スマソ。

//アイテムを求める
ChangeItem = GetItemAt(X, Y);
if (ChangeItem == NULL || Cap->Visible == true) return;

のところ、
if (Cap->Visible == true) return;はGetItemの前にやらないと
ChangeItemが変わっちゃうんで駄目です。
0432423NGNG
>>431
再度どうもです。
コンポ作っていろいろやってます…
マウスのホイールやメニューのクリックでフォーカス外したりするのが必要なので
いろいろ調べつつ頑張ってみます
0433  NGNG
professional版以上についてるCodeGuardてべんりですか?
メモリリークがあると簡単にわかる?
どんな型のどのくらいのメモリがリークしたかとかわかるの?
0434デフォルトの名無しさんNGNG
プログラミングとは全然関係ないんですが、
一応、BCBでおこったことなので、書き込みます。

2,3ヶ月前に、BCBを使おうと思って起動させたら、
なんか、ゴジラの鳴き声
『ギャォォォォン!』
と言うのがして、ビックリして画面見たら、
いつものスプラッシュウインドウではなく
どっかのイラストレーターが書いたようなゴジラの絵の
スプラッシュウインドウが出てきました。
一体コレはなんだったのでしょうか?
ネタじゃなくマジです。
あまりにビックリしすぎて、スクリーンショットを取り損ねてしまいました。
0435デフォルトの名無しさんNGNG
BCBのIDEみたいな、ドッキングフォームを作りたいです。
プロパティのDock関係をいじってみたんですが、
エディタ部を固定したままにすると、ドッキングされたフォームが
エディタに重なってしまい、エディタが使えない状態になってしまいます。
よろしくおねがいしまs
0436デフォルトの名無しさんNGNG
Buttonを押してImageへEditに書いた文字列を表示させるという事がしたくて
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char i[32];
strcpy(i, Edit1->Text);
Image1->Canvas->TextOut(0, 0, i);
}
と記述したら
'AnsiString' 型は 'const char *' 型に変換できないと表示されました。
Strからcharに変換する方法か、
もっと簡単にEdit1->Textの文字列を代入する方法ありませんか?
0437>>436NGNG
ageてすいません。
よろしくお願いします。
0438デフォルトの名無しさんNGNG
Image1->Canvas->TextOut(0, 0, Edit1->Text);

質問でageても誰も文句言わん。
0439デフォルトの名無しさんNGNG
char配列へのコピーを一応。
strcpy(buffer, Edit1->Text.c_str());
0440デフォルトの名無しさんNGNG
だれか434の件について答えてくれ
0441デフォルトの名無しさんNGNG
>>440
>一応、BCBでおこったことなので
Windowsで起こった事だ
0442デフォルトの名無しさんNGNG
CtrlとShift押しながらBCB起動しろ
0443>>436NGNG
>>438
>>439
そのままTextOutに書いてよかったんですね。
わざわざchar配列へのコピーまで教えて頂きありがとうございました。

0444デフォルトの名無しさんNGNG
>>434
それ、Borzillaだな、幸運な奴だ
どうやったらそれが出るのか漏れは未だにわからん
リソースに入ってるので、リソースハッカー等で取り出せはしたのだが・・・・
0445434NGNG
>>442
神!
出ました。有り難うございます。
今までウイルスか何かかなぁと思っていたんで、
安心しました。
普通に起動して出たのって凄い確率なんでしょうね。
0446デフォルトの名無しさんNGNG
>>442
これってBorlandの社員の集合写真か?
0447デフォルトの名無しさんNGNG
>>442
その方法で出ないぞ
BCB6J UPD#4は違うのか?
0448デフォルトの名無しさんNGNG
出たり出なかったりする
0449デフォルトの名無しさんNGNG
>>448
さんきゅ
未だ成功せず
リソース見てみたら集合写真はあるけど、Borzilla.wavが無い!?
本体ではなく他のに入ってるのか捜索開始します
0450デフォルトの名無しさんNGNG
Formを2つ作成し、Form1を上下左右に動かすと
Form2も連動し上下左右に動かす方法はないですか?
Formのイベントとか見てもそのようなものないし・・・。
宜しくお願い致します。
0451デフォルトの名無しさんNGNG
ある
0452デフォルトの名無しさんNGNG
>>447
BCB5では>>442の方法で出た
6は未確認
0453デフォルトの名無しさんNGNG
>>450
http://www2.big.or.jp/~osamu/Delphi/builder-browse.cgi?index=012852
0454デフォルトの名無しさんNGNG
MDIアプリのいいサンプルありませんか?
一応探してみたんですが、無かったので
0455434NGNG
int i=100;
AnsiString buff;
buff.sprintf("Value:%d",i);
これが通って

int i=100;
AnsiString buff.sprintf("Value:%d",i);
これが通らない。なんで?
0456デフォルトの名無しさんNGNG
いけね。名前そのままにしてた。
0457デフォルトの名無しさんNGNG
>>455
初期化でメンバ関数呼んで普通通ると思うか?
0458デフォルトの名無しさんNGNG
ふーん、そういうもんなんですか。
0459デフォルトの名無しさんNGNG
>>458
もう一度C++をよく勉強しなしゃい。
0460デフォルトの名無しさんNGNG
>>453
さんくす。
0461デフォルトの名無しさんNGNG
http://www.zdnet.co.jp/enterprise/0307/08/epn17.html
C#
0462  NGNG
C#Builderとは。
C++Builder7はまだ発売されないの?
もうすぐ金入るからBuilder6のProfessional買おうか迷ってるけど買ってすぐ7がでたらやだなー。
0463デフォルトの名無しさんNGNG
MDIアプリのいいサンプルありませんか?
一応探してみたんですが、無かったので
0464デフォルトの名無しさんNGNG
本買え
0465デフォルトの名無しさんNGNG
どの本に載っていますか
どこで買えますか
0466デフォルトの名無しさんNGNG
新規作成→その他→プロジェクト→MDIアプリケーション
の奴でいいだろ。
0467デフォルトの名無しさんNGNG
>>433
CodeGuard便利っすよ。
メモリーリークの他にも危険な操作も検出してくれるようです。
0468 NGNG
>>467
ありがとう!
プロフェッショナル版を買おうか迷ってたけど買おうとおもいます。
0469デフォルトの名無しさんNGNG
フォームのBorder StyleをbsNoneにしてフォームの
タイトルバーを消した状態でフォームの大きさを従来通りマウスで
変えたいのですが、どうすればいいのでしょうか?
0470デフォルトの名無しさんNGNG
>>469
"WM_NCHITTEST" と「リサイズ」でぐぐれ。

ところで、枠が無い状態でどこを掴んだときにリサイズさせたいの?
0471デフォルトの名無しさんNGNG
>>470
ウィンドウの端にマウスをもってくと枠がある時と
同様な操作がしたいもので
0472デフォルトの名無しさんNGNG
あ、ダメだ・・
ググっても発見できない
0473デフォルトの名無しさんNGNG
WM_NCHITTESTの説明見て理解しれ

BCBのサンプル
http://market.agr.tottori-u.ac.jp/ken/tech.html#FormSize
0474_NGNG
http://homepage.mac.com/hiroyuki44/
0475デフォルトの名無しさんNGNG
>>473
できました!
しかし今度はMouseDownイベントが発生しなくなってしまいました・・
WM_NCHITTESTメッセージを処理した後にデフォルトの処理を
走らせるにはどうしたらいいのでしょうか?
0476デフォルトの名無しさんNGNG
TForm::Dispatch(&msg);

でもこの場合、処理した後じゃなくて前に呼ぶ。
(後に呼ぶと自分で設定したmsg.Resultが、デフォルトの処理で書き換えられるので)
0477デフォルトの名無しさんNGNG
すいません。
変な例えですが、TStringListの様なクラスを配列で利用したいんですが、
初期化はどのようにしたらいいんでしょうか?
ヘッダに
TStringList *strlist[100];

とすると、初期化は?
strlist[]=new TStringList;
じゃダメですよね。
0478デフォルトの名無しさんNGNG
>>477
試してないけど、固定長配列でいいなら、

int i;
TStringList *strlist[100];

// 確保のコード
for( i = 0 ; i < 100 ; i++)
  strlist[i] = new TStringList;


// 解放のコード
for( i = 0 ; i < 100 ; i++)
  delete strlist[i];

じゃないかな?
0479477NGNG
ごめんなさい。
やりたかったことは、TListを使うとうまく行きました。
>>478
やっぱりその方法が一番手っ取り早いみたいですね。

もう使わないけど。
0480デフォルトの名無しさんNGNG
アスペルガー
0481デフォルトの名無しさんNGNG
アスベスト
0482デフォルトの名無しさんNGNG
Unit1.h
−−− ここから
class TForm1 : public TForm
{
__published: // IDE 管理のコンポーネント
TMemo *Memo1;
void __fastcall FormShow(TObject *Sender);
private: // ユーザー宣言
void __fastcall WMDropFiles(TWMDropFiles Msg); //←追加
public: // ユーザー宣言
__fastcall TForm1(TComponent* Owner);

BEGIN_MESSAGE_MAP //←追加
MESSAGE_HANDLER(WM_DROPFILES,TWMDropFiles,WMDropFiles) //←追加
END_MESSAGE_MAP(TForm) //←追加
};
−−− ここまで

Unit1.cpp
−−− ここから
#include <ShellAPI.h> //DragAcceptFiles()

//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
DragAcceptFiles(Handle,true); //Drag&Drop許可
}
0483デフォルトの名無しさんNGNG
↑はフォームにファイルをドロップするとWMDropFilesが呼び出されるプログラムです
DragAcceptFiles(Handle,true);
では正常に処理されるのですが、たとえば
DragAcceptFiles(Button->Handle,true);
として、ボタンにドロップしてもWMDropFiles内に書いた処理をしてくれません
MLなんかにはここを変えるだけでいいようなことが書いてあるのですが、
何か他にしなければいけないことがあるんでしょうか
0484買ってきたばっかNGNG
Borland C++ 6.0 Personalで
簡単なフォームを作って実行させたところ

[リンカ 致命的エラー] Fatal: ファイル名が必要 :

わかんないっすTT
0485デフォルトの名無しさんNGNG
>>483
WM_DROPFILESはButtonに送られるんだから、
Buttonをサブクラス化するとか、TApplication::OnMessageでWM_DROPFILESを捕らえて処理しないと。
0486デフォルトの名無しさんNGNG
>>484
漏れもなったことがある。
フォームにボタン一個貼っただけなのに、保存してからコンパイルしようとすると
[リンカ 致命的エラー]が出たり。
再インスコしたら直ったけど
0487デフォルトの名無しさんNGNG
>484
原因不明のエラーに対する自分なりの手順。
1)全て保存してやり直す
2)すべてのプロジェクトを再構築してやり直す
3)Builderを一度終了させてやり直す
4)OS再起動させてやり直す

個人的な経験では、再構築で直ること多し。
再インストールはやったことないな。。。
0488486NGNG
>>487
漏れの場合はそれ全部やってもダメだった。
んで再インスコ
0489買ってきたばっかNGNG
>488
再インスコでなおった@@;
アリガトン^^
0490デフォルトの名無しさんNGNG
C#Buidlerってどうなの?
0491デフォルトの名無しさんNGNG
SYOTI_F( char * ) test_time SYORI_P(( const time_t *tp, char *buf ));

とGCCで書いてあるヘッダをC++Builderでコンパイルすると
[C++ エラー] test.h(38): E2293 ) が必要

となってエラーとなる...const が悪い??
ていうかこの部分が何を示しているのか良くわかってない^^;

C++Builderだとどうすれば良いのでしょうか?
0492 NGNG
test.hが必要ってエラーでてるじゃん
0493デフォルトの名無しさんNGNG
>>492
test.h 内で)が必要という意味みたいです^^;
0494デフォルトの名無しさんNGNG
SYOTI_FやらSYORI_Pっていあマクロらしきもののの中身さらさんとわからん
0495_NGNG
http://homepage.mac.com/hiroyuki44/
0496デフォルトの名無しさんNGNG
>>494
typedef int SYORI_P_rewrite SYORI_P(( void *ln, unsigned lnf));
SYORI_Pはこんな感じです。
#define SYOTI_F(type)extern type
となっています。
中身は必要ですか?

0497デフォルトの名無しさんNGNG
絶対SYORI_Pが違う。
#define SYORI_P(x) x
みたいになってるはず。
0498デフォルトの名無しさんNGNG
>>497
typedef int SYORI_P_rewrite SYORI_P(( void *ln, unsigned lnf));
では定義は不可能という事ですか?
0499 NGNG
おそらく
>typedef int SYORI_P_rewrite SYORI_P(( void *ln, unsigned lnf));
これはSYORI_Pのtypedefではなく_rewriteのでは。
そしてSYORI_Pはマクロです。
#define SYORI_P(PAR) (anyfunc)PAR
こんな感じ
0500 NGNG
>#define SYORI_P(PAR) (anyfunc)PAR
これちがうは
0501 NGNG
#define SYORI_P(PAR) (returntype(*)PAR)
こんなんかな
0502デフォルトの名無しさんNGNG
>>499
それがないんですよね〜
SYORI_Pはヘッダファイルのみの使用なんですが
いくら検索かけてもないんですよね

typedef int SYORI_P_rewrite SYORI_P(( void *ln, unsigned lnf));

は理論上成り立つのかなと...SYORI_P_rewrite の別名定義ですよね..
これって,,どうなんでしょw

0503デフォルトの名無しさんNGNG
いや、だから、UNIX系のソースによく見られる _P(...)マクロと一緒でしょ。
プロトタイプが有効なときには展開され、無効(古いコンパイラ)なときには空白にするっての。
だから>>497。
0504_NGNG
http://homepage.mac.com/hiroyuki44/
0505デフォルトの名無しさんNGNG
たぶん、config.hとかで
#ifdef ????
#define SYORI_P(arg) arg
#else
#define SYORI_P(arg) /* */
#endif
みたいになってると思うけど。
0506デフォルトの名無しさんNGNG
ありました...
#define SYORI_P(proc)proc
って感じですが..
0507デフォルトの名無しさんNGNG
説明はなしですか..ww
0508デフォルトの名無しさんNGNG
503に書いた内容じゃ不服か?
0509デフォルトの名無しさんNGNG
問題は
SYOTI_F( char * ) test_time SYORI_P(( const time_t *tp, char *buf ));
マクロとマクロに囲まれたtest_time が何者か分からないわけで..

とGCCで書いてあるヘッダをC++Builderでコンパイルすると
[C++ エラー] test.h(38): E2293 ) が必要

このエラーがなぜ発生するのか分からないわけで..

よろ..
0510デフォルトの名無しさんNGNG
自分で理解できないからって、、

>えっと別スレで聞いたのですが説明なしで自己満足で終わられたみ
>たいなのでこのスレに投げます。

すげーむかついたから、勝手にやってくれ。
0511 NGNG
そのソースが使われてるとこにあるライプラリなどから呼び込んでるかと
0512 NGNG
プ。じゃなっかた。ブだ。
0513デフォルトの名無しさんNGNG

分かっている事ばかり答えてもらってもしかたなか(-.-)
0514デフォルトの名無しさんNGNG
答えるだけ答えさせておいて
バカにして終わりww
自己満足の境地www
0515デフォルトの名無しさんNGNG
定義されているのがtest.h内なら#ifdefの条件をdefineする
config.hならincludeする。

この程度が解決できないようじゃ、
どうせ他のところでもエラーが出て解決できないだろうがね。

>分かっている事ばかり答えてもらってもしかたなか(-.-)
0516デフォルトの名無しさんNGNG
答えるつもりがないのだったら
時間の無駄だからこのスレにでてこないでください
0517デフォルトの名無しさんNGNG
>>515
あのね その程度でつまってるんだったら聞かないでしょって
いってるのに!
0518デフォルトの名無しさんNGNG
みなさん、そんなに興奮しないで下さい...

質問のレベルが高すぎたのかなあ...ww
0519デフォルトの名無しさんNGNG
相互リンク
http://pc2.2ch.net/test/read.cgi/tech/1057580107/68-
0520デフォルトの名無しさんNGNG
>>491
この情報でどうやってわかれって。
0521デフォルトの名無しさんNGNG
>>520
koreigai naniga aruno?
質問に散々こたえたでしょw

0522デフォルトの名無しさんNGNG
デスクトップにあるアイコンより下にフォームを表示する方法を教えて
0523_NGNG
http://homepage.mac.com/hiroyuki44/
0524477NGNG
TListに独自のクラスをAddで追加したんですが
その追加したクラスを取り出すとき、void*型を独自クラスの形式に変換することが出来ません。
独自のクラスに変換するにはポインタを解析して行くしかないのでしょうか?
0525デフォルトの名無しさんNGNG
>>524
"キャスト"という言葉はご存じですか?
0526デフォルトの名無しさんNGNG
>>524
クラスやコンポーネントは実際はポインタだから、普通にキャストできると思うが。
var
 List:TList;
 p:TForm1;
begin
 List:=TList.Create;
 List.Add(Form1);
 p:=TForm1(List.Items[0]);
 List.Free;
 ShowMessage(p.Name);
end;
0527デフォルトの名無しさんNGNG
TStringList *StrList=new TStringList;
StrList->Add("abcdef");
delete StrList;

TList *List=new TList();
List->Add(StrList)
//↑の変数はPublic属性

TStringList* sl=new TStringList;
sl=(TStringList)List->Items[0];
ShowMessage(sl->Strings[0]);
delete sl;

delete List;
これでキャスト出来ないんだけど、ドコが悪いの?
0528デフォルトの名無しさんNGNG
あっ!間違えた。
StrList->Add("abcdef");
//delete StrList;
0529デフォルトの名無しさんNGNG
sl=(TStringList*)List->Items[0];
こうだよん。
0530デフォルトの名無しさんNGNG
それやると、メッセージ表示される前に
フリーズしちゃうんですが…
0531デフォルトの名無しさんNGNG
TStringList* sl;
0532デフォルトの名無しさんNGNG
あー!
List->Addしたあと、delete StrListしてました。
お手数おかけしました。
0533デフォルトの名無しさんNGNG
ところで、何回も同じ変数でnewしても、
その回数だけdeleteする必要ってないんですか?
0534デフォルトの名無しさんNGNG
VCLとCLXの条件コンパイルはどうやってますか?
0535 NGNG
今までパーソナルだったけど気に入ったからProfessional版買ってきてインストールしたけど
起動が滅茶苦茶遅くなった。ペンティアム�Vの733ヘルツだと重いのかな。
0536デフォルトの名無しさんNGNG
要らないパッケージ外したら速くなるよ。それでも重いこた重いけどナー
0537 NGNG
>>536
パッケージが原因なんですか。
そういえばパーソナル版使ってるときに本やWeb上のサンプルをコンパイルしようとしたら
パッケージがないとか言ってコンパイルできないことが多かったよ。
あれはプロフェッショナル版の人が作ってたんですな。
まあ実行時パッケージを使って構築のチェックを外せばだいたいコンパイルできたけど。
でもたくさんコンポーネントが増えてうれしい。
ログが表示できたりCodeGuardが使えたりしてデバッグもぐっと楽になるだろうし。
秋葉原に買いに行ったらVC++.Netの2002年版のやつとVS.Net2003Professionl限定アップグレード版をセットで買うと
5万弱で買えるってお勧めの商品になってて迷ったけどこれでよかったんだよね、多分??
でも1万円以上高いのはちょっと痛いな。あっちはC++とC#とVBもついてるし。
0538デフォルトの名無しさんNGNG
今、悩んでいるのだけど
これからc++を始める人にとっては「c++builder」と「visual c++」の
どちらを選択すべきであろうか。
自分の中では「visual c++」がメジャーと思っていたので他の選択肢を考えていなかった。

「visual c++」の方が本や情報など探しやすい気がする反面で
「c++builder」を勧める人の方が多い気がもする。

先輩方のアドバイスを求む。
0539デフォルトの名無しさんNGNG
>>538
取り敢えず、このスレの主旨から言って、やはりBCBではないかと
ちなみに、VCのスレで聞かれたらVCを進める
理由は>>538だけじゃ、何に使うか分からんし
使い方によっては、gnuで充分だったりするので
0540538NGNG
聞かれる気もしていたのですがあえて明記しませんでした。
まずはフリーソフトみたいな物を作りたいです。
考えているのはHP巡回ソフトの「WWWC」みたいなソフトです。
おそらくこれが完成するのにかなりの時間がかかるでしょう。

その後はDirectX関係を勉強してゲームもどきみたいな物を制作したいです。
単にキャラクターをパッドで操作できるだけの簡単な物でいいです。

こんな予定があるのですがどっちのc++がよいですかね?
0541デフォルトの名無しさんNGNG
まず、無料のコンパイラをDLしてC/C++というものをある程度理解して
それからWindowsなりネットワークなりだな。
0542ミ,,゚Д゚彡 ◆A6VzDeLphI NGNG
同系ソフトにVCL製の
WWWDってのもあります。

情報をたくさん集めて判断すると
より後悔しない選択が出来るんじゃないかな。
0543デフォルトの名無しさんNGNG
そうだな。
フリーの環境 BCC55/Delphi/Java落としていろいろやってみてから 有償のものを買えばいい。

よく、お金出した方が真剣になるからなんて言い方する奴がいるが、
そんなものは幻想だ。
0544デフォルトの名無しさんNGNG
coutやcerrに出力してるソースがありますが、
それらを標準入出力でなく、TMemoとかに出したいでつ。
BCBで出来ますか?
0545544NGNG
というか、
「cout << "Hello world." << endl;」
が、どこにも表示されません。

いったいどこに出力されてるのだろう?

0546デフォルトの名無しさんNGNG
それは君の心の中にあるのです。
0547デフォルトの名無しさんNGNG
>>545
コンソールアプリケーションを選択すれば出力される。
0548デフォルトの名無しさんNGNG
AnsiStringってもしかして怖い?
0549デフォルトの名無しさんNGNG
>>548
どういうこと?
0550デフォルトの名無しさんNGNG
普通に使ってるZE!
0551デフォルトの名無しさんNGNG
>>548
怖くはないよ。すごく便利。
0552デフォルトの名無しさんNGNG
BCB3proにあったSQLビルダー、
BCB4以降Enterpriseにしかつかなくなったけど
proで使えるSQLビルダーないですか?
0553デフォルトの名無しさんNGNG
>SQLビルダー

って何するもんですか?

ウィザード形式で、

データを取得する表を選択して下さい
取得する列を選択して下さい
抽出条件を指定して下さい

→SELECT hoge FROM huga WHERE nullpo

みたいな?
0554デフォルトの名無しさんNGNG
そう。
またプログラム実行しなくても、
SQLビルダー内でクエリの結果も表示できるし
その結果をエクセルなどに簡単にコピペできたので
ちょっとした抽出なんがすごく便利だった。
おまけに、そのSQL文もウィザード形式で
作ってくれた。
だからBCB3以降使ってない。
SQLビルダーの復活を願いたい。
0555538NGNG
アドバイスどうもです。
>542
自分はwwwcよりwwwdを使っているのですがwwwdに不満があって作ってみようかと(笑

もうちょっと考えてみますね。
0556デフォルトの名無しさんNGNG
TStringList *sl=new TStringList;
sl->Add("AAA");
ShowMessage(sl->Strings[0]);
sl=new TStringList;
sl->Add("BBB");
ShowMessage(sl->Strings[0]);
delete sl;
こんな事した場合、メモリは2回取得されるんでしょうか?
それとも、同アドレスの変数が初期化されるだけでしょうか?
0557デフォルトの名無しさんNGNG
同アドレスの変数が初期化?
意味はワカランが、とりあえずメモリリークしてる。
0558デフォルトの名無しさんNGNG
>>556
2回別々に確保され、一回目のものはリークして2回目のものだけ開放される
0559デフォルトの名無しさんNGNG
やっぱり…
TListにドンドン追加してるんだけど、
追加し終わったあと(例えばTStringList)Deleteするとフリーズしてしまうんですが。
どうも、TListがコピーされたはずの物を参照せずに、コピー元ばかり見ているようなそんな気がします。
これじゃTListの意味がワカランのですが?
0560デフォルトの名無しさんNGNG
>追加し終わったあと(例えばTStringList)Deleteするとフリーズしてしまうんですが。

ソース出せ。お前の日本語ではらちがあかん。
0561デフォルトの名無しさんNGNG
>>559
コピー・・?
ポインタはいくらコピーしても指す先の同じものしか参照しないし
TListに格納するのはポインタなわけだが・・
0562デフォルトの名無しさんNGNG
>TListに格納するのはポインタなわけだが・・

と、言うことはTListはポインタのポインタと言うことですね?
0563デフォルトの名無しさんNGNG
>>562
>>560
0564デフォルトの名無しさんNGNG
TListだけをdeleteしてたりして
0565デフォルトの名無しさんNGNG
ボーランドのTListの例です。
new して追加した後、deleteしてないんですが…
0566デフォルトの名無しさんNGNG
>>565
気のせいでしょう。
0567デフォルトの名無しさんNGNG
!ごめんなさい。
forの所削ってました。(w
0568デフォルトの名無しさんNGNG
>>551さん
そうですか。
じゃ、構造体の問題かな・・・。

struct unko{
int i;
char hoge[8];
char chinko[4];
};

unko shitai;

strcpy(shitai.chinko,"chin");
strcpy(shitai.hoge,"hogehoge");

AnsiString aschinko;
aschinko=AnsiString(shitai.chinko);
ShowMessage(aschinko);

shitai.chinko の1バイト目が\0 になるんです。
基本的なことかもしれませんが、アドバイスあったらお願いします。


0569デフォルトの名無しさんNGNG
>>568
char hoge[8]; // 8バイトである
char chinko[4]; // 直後にある

strcpy(shitai.chinko,"chin"); // 5バイト書き込む(最後は '\0')
strcpy(shitai.hoge,"hogehoge"); // 9バイト書き込む(最後は '\0')

ここで shitai.chinko[0]は '\0'になる
0570デフォルトの名無しさんNGNG
あ、順番を
strcpy(shitai.hoge,"hogehoge");
strcpy(shitai.chinko,"chin");
したらOKだ。


勉強しなおしてきまつ。
0571568NGNG
>>569
そうでした。ありがとうございました。
今、ソケットで上記shitai を送信して受信してるのですが、
受信先でかならずある特定のcharの頭が'\0'になるのに悩んでるのですが、
手がかりを見つけたようです。
ただ。。送信直前では'\0'は入ってないんです。もっかい見直しマス。
0572デフォルトの名無しさんNGNG
>今、ソケットで上記shitai を送信して受信してるのですが、
冗談はよせよ。あまりおじさん達をからかうなよ。
0573ppNGNG
>>572
横レス
冗談といいますとpp(興味津々)
0574538NGNG
「c++builder」か「visual c++」で悩んでいた者ですが「c++builder」に決めました。
決め手は
本家や ttp://www.borland.co.jp/cppbuilder/competitive/comparison.html
ここの ttp://www.zdnet.co.jp/developer/0307/04/dvn01_3.html
ページにある「visual c++」ではGUIアプリケーションの構築に労力がかかる、という点で。

なんか相手の罠にかかったような感じですが(笑)、「c++builder」でがんばってみます。
0575デフォルトの名無しさんNGNG
TOpenDialog OpenDlg=new TOpenDialog(this);

こうすれば、解放処理delete OpenDlg;しなくていいんですよね。
0576デフォルトの名無しさんNGNG
たしかにthisが開放されるときに勝手に開放されるが、それまでは残りっぱなし。
0577デフォルトの名無しさんNGNG
手動作成の一時的なダイアログ用なので
それだけ教えていただければ十分です。
0578デフォルトの名無しさんNGNG
>たしかにthisが開放されるときに勝手に開放されるが、

されるか?
0579デフォルトの名無しさんNGNG
TButtonを貼り付けnew TTimer(Button1)ってな感じでButton1を親にしてTTimerを動的に作成。
TTimerのイベントを適当に設定するとそのイベントが発生するが
Button1.OnClickで親であるButton1を開放するとTTimerも開放されイベントが発生しなくなる事が確認できる。
0580デフォルトの名無しさんNGNG
>>578
される
0581デフォルトの名無しさんNGNG
開放→解放 気づかなかった(汁
0582デフォルトの名無しさんNGNG
ヘルプでTComponent::Owner見りゃわかる
0583デフォルトの名無しさんNGNG
newで構築したインスタンスをFree()メソッドで開放してもいいんですか?
0584デフォルトの名無しさんNGNG
ヘルプに従ったほうがいんでない。
0585デフォルトの名無しさんNGNG
>>572
冗談?
・・・・・。
Socket->SendBuff(&shitai,sizeof(sitai));

これは冗談の類なのでしょうか・・・・?
0586デフォルトの名無しさんNGNG
585=568でした。

冗談な理由を教えていただきたいです。
送受信できてるのが冗談なら別の方法を考えますので・・・・。
0587デフォルトの名無しさんNGNG
>>586
まあ、一般的に構造体というメモリイメージを直接送受信するのは
・バイトオーダー(エンディアン) (主にCPUの違い)
・アライン (コンパイラ、コンパイラ設定の違い)
・その他の内部表現 (浮動小数点や文字コードなど)
の不一致が問題を起こすから、そのプロトコルを使い続けていくと
いろいろ困ってくる。
0588デフォルトの名無しさんNGNG
>>587
レスありがとうございます。
挙げて頂いた注意点は気をつけてます。
では、固定長のバイナリデータを受信側で構造体に落とす、という使い方では
なにか不具合があるでしょうか?送信側では構造体で定義していないという前提で。
0589デフォルトの名無しさんNGNG
↑
あ、受信側のコンパイラのアラインは1です。
0590デフォルトの名無しさんNGNG
Win2kSP4+BCB6ProUPD#4です
QuickReportファイル(*.qrp)をPDFに変換するライブラリなりコンポーネントなりは無いものでしょうか
0591デフォルトの名無しさんNGNG
Delphiで作ったdfmファイルはそのままC++Builderで使えますか?
0592デフォルトの名無しさんNGNG
>>590
アクロバット(リーダーじゃないやつ)で印刷させる・・・・・。
ってのはだめですか?w
0593デフォルトの名無しさんNGNG
>>591
dfmだけでなく、pasファイルとセットでプロジェクトに組み込めます。
0594590NGNG
>>592
いやぁ、フリーウェアなんで一緒に配布できるものがいいんですけどね・・・
それに別操作をユーザに強いるのもどうかと
0595山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0596デフォルトの名無しさんNGNG
アレの方法を教えてくれ
0597山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0598 NGNG
CodeGuardによるメモリリークの検出のことなんだけど
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(OpenDialog1->Execute())
{
TStringStream* ps = new TStringStream(OpenDialog1->FileName);
}
char *s = new char[1000];
}
でchar[1000]のほうは検出してくれるんだけどTStringStreamのほうは検出してくれないみたいなんだけど
なんか設定がおかしいのかな?
あとTStringStreamの読み込みは\nとかは一文字分にして読み込んでくれてるよね?
いわゆるテキストモードとか言うやつだよね。
0599598NGNG
なんか馬鹿な事かいてました。
TStringStreamはファイルをオープンするわけじゃなく、コンストラクタの引数で渡した文字列を
ストリームとして表すものだったんですね。標準ライブラリのやつと同じ感じか。

それはわかったんですがなぜメモリリークが検出されないのでしょうか。
あとBuilderの関数とかにはテキストモードでのファイルの読み込みとかするやつはないのですか?
まあCやC++の標準ライブラリを使えばいいんだけど一応知りたいんです。
0600デフォルトの名無しさんNGNG
>テキストモードでのファイルの読み込みとかするやつ
そういやPascalのResetとかReadとかEofとかはC++Builderで使えるのかな?
0601デフォルトの名無しさんNGNG
現在BCB5Entを使用しています。
6にアプしようと思っているのですが、予算つごうでProになってしまいます。

そこでお聞きしたいのですが、5Entと6Proではどちらがよいでしょうか?
特に変わったものは開発してませんが、IBX等データベース関係を少しいじる
ことがあるので違いが気になります。
過去レスにあるようにSQLビルダもない様だし。
0602デフォルトの名無しさんNGNG
Builder6のInterbaseコンポーネントで質問があります。

InterbaseAdminタブのIbinstallコンポーネントを使おうとすると
「Ibinstall.dllがみつかりません」
とでます。

IB6もインストール済みですし、Ibinstall.dllもあります。

また、このコンポーネントが使えたとしてFirebirdに対して使用することはできるのでしょうか?
0603デフォルトの名無しさんNGNG
>>599
こーいうことかな??

class MyClass {
public:
MyClass() { }
virtual ~MyClass() { }
};

class MyVclClass : public TObject {
public:
MyVclClass() : TObject() { }
virtual __fastcall ~MyVclClass() { }
};


void __fastcall TForm1::Button1Click(TObject *Sender)
{
MyClass* obj = new MyClass(); // メモリリークが報告される
MyVclClass* vcl = new MyVclClass(); // メモリリークが報告されない
}
0604509NGNG
>>603
おお、確かにTObjectから継承したやつは報告されませんでした。
TStringStreamはTObjectから継承してたからなのかな?
でもCodeGuradにそんな設定は見つけられないんだけどどっかにあるのかな?
それとも仕様なの?
他の人はどうなんでしょう。
0605デフォルトの名無しさんNGNG
アウトルックの左側についてるようなメニューのコンポーネントはないですか?
0606デフォルトの名無しさんNGNG
TListView
0607デフォルトの名無しさんNGNG
いま会社でC++Builder使ってるのですが、1からわかるような良い書籍はありますか?
池袋のビックピーカン覗いてもC++Builderの本が5冊ぐらいしかなかったので・・
0608デフォルトの名無しさんNGNG
>>607
C++の本と、VCLについてはDelphiの本を読むとよい。
C++Builderについての良書はほとんどないですから。
0609デフォルトの名無しさんNGNG
>>607

Sams Teach Yourself Borland C++ Builder in 21 Days
http://www.amazon.com/exec/obidos/ASIN/0672310201/

Borland C++Builder 6 Developer's Guide
http://www.amazon.com/exec/obidos/ASIN/0672324806/
0610607NGNG
>>608
Delphiですか。C++Builderの本はホントにないですよね・・・

>>609
よさげなんですが、英語は読めないので・・・
英語ほうがしっかり書いてあるというはわかるんですが
0611デフォルトの名無しさんNGNG
>>607
株式会社カットシステムから出ていた
C++Builder4コンポーネント活用ガイド&実践プログラミングVol.1〜コンポーネント・リファレンス〜
http://www.cutt.co.jp/book/4-87783-009-X.html
C++Builder4コンポーネント活用ガイド&実践プログラミングVol.2〜プログラミング・テクニック〜
http://www.cutt.co.jp/book/4-87783-010-3.html
というのが、自分としてはカナーリ役に立ちました。今でも手元において活用してます。
が、もはや絶版です。

代わりに今は
C++Builder 6 コンポーネント活用ガイド&実践プログラミング Vol.1
http://www.cutt.co.jp/book/4-87783-061-8.html
C++Builder 6 コンポーネント活用ガイド&実践プログラミング Vol.2
http://www.cutt.co.jp/book/4-87783-062-6.html
というのが出てますが、収録内容は少なくなっているのに価格は上昇していて、4の本に比べると劣ります。
ただ、5以降の新しい部分(新しいプロパティとか)が網羅されているので
買って損は無いと思いますよ。
0612新しいマスクの方法NGNG
BCB5で以下のようなバグを発見しました。

以下は
1、Canvasを最初に黒一色で塗りつぶす
2、Canvasに朱・オレンジで線を描画する
3、黒の領域をFloodFill(0,0,clBlack,fsBorder)で重ねぬりする。

Image3->Canvas->Brush->Color = clBlack;
Image3->Canvas->Rectangle(0,0,Image3->Width,Image3->Height);
Image3->Canvas->Pen->Color = (TColor)0x000f3fff;
Image3->Canvas->Pen->Width = 4;
Image3->Canvas->MoveTo( CX+R2*cos(NeedleAgl), CY-R2*sin(NeedleAgl));
Image3->Canvas->LineTo( CX+R1*cos(NeedleAgl), CY-R1*sin(NeedleAgl));
Image3->Canvas->Pen->Color = (TColor)0x002f6fff;
Image3->Canvas->Pen->Width = 2;
Image3->Canvas->MoveTo( CX+R2*cos(NeedleAgl), CY-R2*sin(NeedleAgl));
Image3->Canvas->LineTo( CX+R1*cos(NeedleAgl), CY-R1*sin(NeedleAgl));
//----魔法の一行 (何故上手くいくのか不明:2003/07/18発見)
Image3->Canvas->FloodFill(0,0,clBlack,fsBorder);

このプログラムを実行した結果、針の部分を覗いて
背景のImage1に貼り付けたビットマップが透過して描かれます。
つまり、針部分のみマスクされ、黒い部分は透明になる。

0613新しいマスクの方法NGNG
もともとのプログラムでは、、、
黒一色でべた塗りして針を書き込むだけ、という
以下のようなソースでした。

Image3->Canvas->Brush->Color = clBlack;
Image3->Canvas->Rectangle(0,0,Image3->Width,Image3->Height);
Image3->Canvas->Pen->Color = (TColor)0x000f3fff;
Image3->Canvas->Pen->Width = 4;
Image3->Canvas->MoveTo( CX+R2*cos(NeedleAgl), CY-R2*sin(NeedleAgl));
Image3->Canvas->LineTo( CX+R1*cos(NeedleAgl), CY-R1*sin(NeedleAgl));
Image3->Canvas->Pen->Color = (TColor)0x002f6fff;
Image3->Canvas->Pen->Width = 2;
Image3->Canvas->MoveTo( CX+R2*cos(NeedleAgl), CY-R2*sin(NeedleAgl));
Image3->Canvas->LineTo( CX+R1*cos(NeedleAgl), CY-R1*sin(NeedleAgl));

この場合、(TColor)0x002f6fffで塗りつぶした領域が"透過領域"になります。
私には原因がわからないのですが、マスク処理が簡単に行えるので重宝してます。
原因をご存知の方はいらっしゃいますか?
0614新しいマスクの方法NGNG
つまり、三回重ね塗すると透過領域になる???
今まで、このような事態に遭遇したことはなかったのですが・・・

連続投稿すみません(^^;
0615デフォルトの名無しさんNGNG
フォームを透明にできますか?
フォームにラベルをのせてそのラベルの文字だけが表示されるみたいなことを
したいので、ご存知の方宜しくお願いします。
0616デフォルトの名無しさんNGNG
それは透明にするんではなくて
不定形リージョンで出来そうなんだけど。
ぐぐってみ。
0617デフォルトの名無しさんNGNG
今思ったんだけど、例外処理で
try{
}catch(...){}
と、例外の種類を設定するところで【...】とすれば
どんな種類の例外でもキャッチできるわけ?
俺どっかでこの【...】を使ってたの見てずっとこうしてんだけど
どうなの?
0618デフォルトの名無しさんNGNG
>>614
bool TCustomForm::TransparentColor
TColor TCustomForm::TransparentColorValue
0619デフォルトの名無しさんNGNG
>>617
言語ガイド嫁
0620デフォルトの名無しさんNGNG
>>616
ビットマップではできるんだが、ラベルも可能?
0621デフォルトの名無しさんNGNG
TStaticTextをParentWindow = NULLにして透過させればいいんじゃない?
0622デフォルトの名無しさんNGNG
>>621
すんません、C++Buier1使ってます
他のコンポで代用可能なのあるますか?
0623デフォルトの名無しさんNGNG
>>622
SetWindowLong(Handle, GWL_EX_STYLE, GetWindowLong(Handle, GWL_EX_STYLE) | WS_EX_LAYERED);
SetLayeredWindowAttribute(Handle, RGB(255,0,0), 0, LWA_COLORKEY);

ただし、Win2k以降専用
0624デフォルトの名無しさんNGNG
>>623
それって2000とかの透明機能のアレですか?
これはこれで非常にありがたいです。
ありがとうございます。
0625デフォルトの名無しさんNGNG
>>623
嗚呼・・
GWL_EX_STYLEとかWS_EX_LAYEREDとかのデファインがヘッダーにないです
0626デフォルトの名無しさんNGNG
C++Builder5でExcelって簡単に操作できますか?
これに関するHPとかあったら教えて下さい
0627デフォルトの名無しさんNGNG
>>625
PlatformSDKなりbcc5.5.1なりからヘッダファイル持ってくれ
0628デフォルトの名無しさんNGNG
BCB5で黙ってこれ使っとけ!っていうDirectX9.0aのコンポーネントない?
ライブラリの改変やヘッダファイルの改変いらずですぐ使えるやつね
0629デフォルトの名無しさんNGNG
>>628
無い!




























と言ったら?
0630デフォルトの名無しさんNGNG
BCBでVirtualTreeviewってコンポーネント使ってる人いない?
Delphiでは普通に動くのに、BCBではインストールでつまづく。
対応してるって書いてあるのになぁ。もう少し互換性マシにならないかなぁ。
0631デフォルトの名無しさんNGNG
>>630
じゃあ自分で作る鳴りソースいじるなりしろや、ボケ。
0632デフォルトの名無しさんNGNG
社員がキレたw
0633デフォルトの名無しさんNGNG
BCBのランタイム集borlndmm.dll,cc3260mt.dll,rtl60,stlpmt45.dll,
vcl60,vcl60.bplてありますよね。普通、BCB持ってない人のために、
入れておくものですけど、これて、提供するソフトに入れても差し支え
ないのですかね。なんか、著作権違反しそうでやばそうですよね。
もともと、ボーランドのbinディレクトリーに入っているものですし、
勝手にこれらの物って、使用してかまわないんでしょうか。
よろしくお願いしま〜〜す。
0634デフォルトの名無しさんNGNG
>>633
聞く前に添付文書読め
0635デフォルトの名無しさんNGNG
>>631=>>634 はカルシウム不足
0636デフォルトの名無しさんNGNG
添付の文章なんかないですが。似たようなのにフリーソフトのパックに、
5.1のやつはあるようですが。BCB6に対応したものなのですが。また、Bin
ディレクトリーから、拝借した物なのですが。まあ、これなくても動くみ
たいですが。コードウォリアーズも、似たようなランタイムがセット
出来るみたいですが。いくらプログラムしても、これないとだめという話
なのですが、著作権はありますし。よく、わかりません。
0637デフォルトの名無しさんNGNG
VirtualTreeviewとやらは、あっさりインスコできたぞ。(BCB6)
0638デフォルトの名無しさんNGNG
インスコしたディレクトリにある deploy.rtf とか読めばいんでない >ランタイムの配布
0639デフォルトの名無しさんNGNG
>>636
割れ物かよ

それはともかく文書と言われて紙の文書しか思い浮かばないとか?
0640デフォルトの名無しさんNGNG
よんでみまつ。とうもありがとう。ランタイムの配布の項目
あるんでしたね。・・・・
0641デフォルトの名無しさんNGNG
0642デフォルトの名無しさんNGNG
BCB6ProにVBのInstrRevに相当する関数ってありますか?
0643デフォルトの名無しさんNGNG
>>642
Delphiには(Ansi)StrRScan()なる物があるからあるんじゃないか?
案外便利だよな。アレ。
0644デフォルトの名無しさんNGNG
>>642
char *相手ならstd::find_endとか
0645642NGNG
>>643
ありました。ありがとうございました。
StrRScan((const AnsiString AText, const AnsiString& subStr);
ではなく
StrRScan(const char * Str, char Chr);
なのがチョイ引っ掛かるけど・・・
(キャストすりゃいいのか? ま、やってみりゃわかることですな)

>>644にも感謝
0646デフォルトの名無しさんNGNG
c_str()
0647デフォルトの名無しさんNGNG
初心者で申し訳ないのですが、
StringGridを印刷するにはどうしたらよいのでしょうか?
0648デフォルトの名無しさんNGNG
>>647
Printscreen
0649デフォルトの名無しさんNGNG
>>647
QuickReportを使うか
RichEditにキャラクタを使って擬似テーブルを作って印刷するか・・・
0650デフォルトの名無しさんNGNG
なあそろそろ>>626を教えてくれよ
0651デフォルトの名無しさんNGNG
>>650
全然簡単じゃないがOLE使えば出来る。
WSHでやった方が良いと思うが。
0652デフォルトの名無しさんNGNG
>650
前から微妙に気になってるが使ったことはない↓良さげなら教えてくれ(w
http://www.vector.co.jp/soft/win95/prog/se275929.html
http://www.vector.co.jp/soft/win95/prog/se231565.html
0653デフォルトの名無しさんNGNG
>>626
[プロジェクト]-[タイプライブラリの取り込み]でダイアログ表示して
Microsoft Excel ... を選択して、ユニットディレクトリ選択して
ユニット作成でエクセル使えるラッパークラス作成できる。
0654デフォルトの名無しさんNGNG
オリジナルクラスが格納しているデータをディスクに保存したいんですが
TStream系のクラスを利用して出来るんでしょうか?
その前に、ストリームにクラスの内容を書き込む方法がわかりません。
誰か教えて。
0655_NGNG
http://homepage.mac.com/hiroyuki44/hankaku06.html
0656デフォルトの名無しさんNGNG
>>561
いやOLEとかWSHとかもうわからないんで
>>652
おっとこれってコンポーネントじゃなしにDLLなら使ってみるかな
>>653
ほほぅ、これって始めて見た。
ラッパークラス作った後はどう操作するんだろうか・・
これもあとでためしてみよう

みなさん、ありりん
0657デフォルトの名無しさんNGNG
OpenDailogにラベルやEditボックスを追加したいんですが
どうすれば実現できますか?
0658デフォルトの名無しさんNGNG
>>657
ちょっとはさがせって
http://www.google.co.jp/search?num=20&hl=ja&ie=Shift_JIS&c2coff=1&q=%83R%83%82%83%93%83_%83C%83A%83%8D%83O+%8Ag%92%A3+C%2B%2B&lr=lang_ja
http://www.mahoroba.ne.jp/~makkie7/BCB/
0659デフォルトの名無しさんNGNG
BC6で作成したアプリはmanifestファイルを使ってLuna対応にできるのでしょうか。
BC5ではTListviewをレポートモードにして使っているとダメだったのですが、
BC6+Update#4ではOKですか?
0660_NGNG
http://homepage.mac.com/hiroyuki44/hankaku06.html
0661デフォルトの名無しさんNGNG
>>659
Delphi7ならOKですよ。
0662デフォルトの名無しさんNGNG
>>661
Delphi7相当なのはきっとC++ Builder7ですよね。出るのか知りませんが。
C++ Builder6はダメなのかな。
0663_NGNG
http://homepage.mac.com/hiroyuki44/
0664デフォルトの名無しさんNGNG
Delphi7のVCLをC++Builderに移したりって出来るの?
0665デフォルトの名無しさんNGNG
BCBのヘルプ見にくいんですけど・・・
0666デフォルトの名無しさんNGNG
>>654は無視ですか?
0667デフォルトの名無しさんNGNG
>>666
はい
0668デフォルトの名無しさんNGNG
>>658
いやそれ系はググってアレしたんだけれども
コンポをインスコせずに自分でやりたいのですが
その方法を載ってることってどこでしょうか?
0669デフォルトの名無しさんNGNG
>>668
ソースみりゃいいだろ。
0670デフォルトの名無しさんNGNG
ここは夏厨のスクツのイソターネトですね
0671 NGNG
コンポーネントパレットが表示されないようになってしまったのだけど、
なんとか直す方法ないですかね。
0672デフォルトの名無しさんNGNG
氏ねば
0673デフォルトの名無しさんNGNG
初めまして。5.0を使い始めた者なんですが、実行結果が表示されないんですけど・・・。
form1という何も表示されないウィンドが表示されるだけなんですけど。
別に多機能を使いたいわけではないので、基本的なコンパイルと表示ができれば満足なんですが。
どなたかご教授してもらえませんか?
0674デフォルトの名無しさんNGNG
↑はどうする?
0675デフォルトの名無しさんNGNG
まず、コンソールウィザードを使ってコンソールアプリのプロジェクトを作りましょう。
0676673NGNG
できました!
でも今度は実行結果の表示時間が決められません・・・。
自分はまだ簡単なプログラムしか組めないので。
例えば・・・
{
printf("a\n");
}

だとaが一瞬表示されるだけで終わってしまいます。
ずっと表示させとくことはできないんでしょうか?
0677デフォルトの名無しさんNGNG
最後の方に、getch()でも入れておきましょう。
0678デフォルトの名無しさんNGNG
Borland C++Builder を買おうと思ってるんですが・・・。
Personalでいいんですよね?
ProfessionalとかEnterpriseとかは仕事に使う人向けってことですか?
いやに高い気が・・・。
0679デフォルトの名無しさんNGNG
入門ならpersonalでも十分
Personal>Professonal>Enterpriseの順に添付されているコンポーネント数や
データ―ベースサポート等が増える。

PersonalになくProfessonal以上に有るコンポーネントでも
フリーのものが結構出回ってることが多いはづ
0680673NGNG
>>677
そうですね。わざわざどうも!
0681デフォルトの名無しさんNGNG
エディタの一発ジャンプが…ライブラリよりこっちが重要。>>Pro
0682デフォルトの名無しさんNGNG
一発ジャンプって何?
0683デフォルトの名無しさんNGNG
宣言部と実装部を行ったり来たりしたり、
型や関数をCtrl+Clickで定義部分にジャンプしたり、
関数の宣言を書いてShift+Ctrl+Cで空の実装部を書き込んでくれたり。
0684デフォルトの名無しさんNGNG
フォームにタイマーをセットして時間が来たらフォームをアクティブにしたいのですが
どうやったらいいのでしょうか?エクスプローラなどを上に置いておいて
時間が来たらそのエクスプローラより上に表示したいのですが
よろしくおねがいします
0685デフォルトの名無しさんNGNG
>>684
タイマーイベントで↓のSDK版の関数にフォームのハンドルを渡して呼ぶ。
http://techtips.belution.com/ja/vc/0012/
0686デフォルトの名無しさんNGNG
>>685
お答えどうもです。
SetForegroundWindowは既に試していたのですが、どうにも最上位に
表示してくれませんでした。ちなみにForm1は非表示にして>>684はForm2で
行っているのですが、そこら辺がうまくいかないのと関係しているのでしょうか?
0687デフォルトの名無しさんNGNG
うまくいかなかった理由と解決方法が>>685のページに書いてあるでそ。
0688デフォルトの名無しさんNGNG
>>687
すまん、さっきちゃんと読んだら何か書いてた。ありりん
0689デフォルトの名無しさんNGNG
線を描きたいんだけどどうすればいいの?わけわからん。
0690デフォルトの名無しさんNGNG
Shapeでも使ってろ
0691デフォルトの名無しさんNGNG
TCanvas::LineTo
0692デフォルトの名無しさんNGNG
質問です、よろしくお願いします。
環境はWin2000SP4,BCB6Pro UPD#4です。

250kBのAnsiStringに42kBの\0(0x00)が混じっていまして、
この\0を除去したいので下記の様にしましたら、遅くてとても実用になりませんでした。
速く処理できる方法を教えてください。

\0の数は決まっていない上に位置も不定で、必ずしも一塊になっていません。
↓のgotdatが250kBの文字列です。
//-------その部分のダメなソース--------
while ( gotdat.Pos('\0') > 0){
gotdat.Delete(gotdat.Pos('\0'),1);
}
//------------------------------------

よろしくお願いします。
0693デフォルトの名無しさんNGNG
>>692
・空の dest を定義する。
・gotdat から dest へ、1文字ずつ加えていく。ただし、その文字が '\0' なら、加えない。
・gotdat = dest;
とか?

AnsiString の機能を知らないので、嘘かも。
0694デフォルトの名無しさんNGNG
while(gotdat.Pos('\0') > 0){
lng_pos = gotdat.Pos('\0');
strtmp = gotdat.SubString(1,lng_pos-1);
gotdat = strtmp + Trim(gotdat.Delete(1,lng_pos));
}
0695692NGNG
>>693
ありがとうございます
それ、やってみたんですが、やはり遅いです。
AnsiStringで一文字ずつというのは遅いようです。char*でやれば早いのかも

>>694
ありがとうございます
十分早いです。それで行きます。
0696デフォルトの名無しさんNGNG
char* p = text.c_str();
int   oldLength = text.Length();
int   newLength = 0;

for (int i = 0; i < oldLength; i++)
{
    if (p[i] != '0')
        p[newLength++] = p[i];
}

text.SetLength(newLength);

なら、一瞬でおわるど。
0697デフォルトの名無しさんNGNG
'0' → '\0' だ
0698692NGNG
>>696
ありがとうございます
>>694の方法と比較してみましたら、>>696の方法の方が格段に早いです。
GetTickCount()で計測、6回試行しましたが概ね10msずつ早い
それに>>694の方法はある程度\0がまとまっている事を期待している感じですが、
>>696はまったくそういった依存関係が無い

やはりこういった処理はAnsiStringではなくchar*なんですね、勉強になりました。
ありがとうございました。
0699692NGNG
AnsiStringがどうたらだけでなく、自分自身の領域の中で前に詰めていき、最後に後ろを切って捨てるってことですよね。
他の領域を使わないから、また更に早いと思っていいでしょうか?
ループの中でクラスを呼んでないことが一番効いているのだとは思いますけど。
0700デフォルトの名無しさんNGNG
ああそっか、AnsiStringのc_str()の戻り値は
const char*じゃなくてchar*だったっけ・・・。
0701デフォルトの名無しさんNGNG
>>699
> 自分自身の領域の中で前に詰めていき、最後に後ろを切って捨てるってことですよね。
たとえばstd::removeがとってる手法もこれだね。
こっちは後ろを「切って捨てる」のではなく、「新しい最後尾」を指すポインタなり
イテレータなりを返す仕様だけど。
0702デフォルトの名無しさんNGNG
ループのたびに'\0'の位置を検索したり、文字の長さを変えたりすれば
そりゃあ時間かかるよな。

'\0'の位置がまとまってなくてランダムな配置なら、
悲惨なほど時間がかかる。(250KBで試してるけど、いつまで経っても終わらない)
0703692NGNG
>>701
c⌒っ*゚ー゚)っφ メモメモ...

>>702
>ループのたびに'\0'の位置を検索したり、文字の長さを変えたりすれば
仰せのとおりですね、毎回関数を呼んでいるからか・・・
0704692NGNG
C/C++を知らずにいきなりBCBで始めたものでVCLにドップリ溺れています。
もっとポインタを活用することを学ばねば・・・
0705デフォルトの名無しさんNGNG
classをnewしてsizeofすると何故かどのクラスでも
4しか取れないんですけど、コレってどういうことですか?
0706デフォルトの名無しさんNGNG
ポインタ変数のサイズ
0707デフォルトの名無しさんNGNG
次は、「じゃあどうやってクラスをファイルに書き込めばいいんですか!」かね?
0708デフォルトの名無しさんNGNG
>>707
public変数をそのまま書けばいいんじゃねーの?
0709デフォルトの名無しさんNGNG
>>707

class SerializeableObject
{
public:
 virtual std::string Serialize() = 0;
 virtual void Unserialize(const std::string &str) = 0;
}

ファイルから読み書きできるようにしたいクラスをここから継承して実装書く。
0710デフォルトの名無しさんNGNG
>>705
最適なスレッドかホームページがありそうですが、知らないので。

TYPE *p; と定義したとき、
sizeof(p) と sizeof(TYPE*) はポインタ変数のサイズで、sizeof(*p) と sizeof(TYPE) は TYPE の大きさです。

たぶん。
0711デフォルトの名無しさんNGNG
現在、メインForm(Unit1)からサブForm(Unit2)を
複数呼び出そうとしています。
複数、表示することは可能なのですが、
サブForm毎に制御することが出来ません。
良い方法はないでしょうか?
宜しくお願い致します。

0712デフォルトの名無しさんNGNG
> サブForm毎に制御
何のこっちゃ
0713デフォルトの名無しさんNGNG
サブFormをTListに入れていけば?
そしてサブForm解放時でTListから削除する。
具体的にはTサブFormとTサブFormManagerとでもして。
TサブFormManager->CreateサブForm()でサブFormを作成して返し、
こっそり内部のTListに追加しておく。ついでにサブFormのメンバ変数にTサブFormManagerを保存しとく。
そしてTサブFormのデストラクタではTサブFormManagerから自身を登録解除してもらう。
サブFormが1種類じゃなくて複数種類必要ならTサブFormを継承して使うようにすればいい。
あとはTサブFormManagerのプロパティからインデックスでTサブFormを参照できるようにしたり、
GetActiveサブForm()とか適当にメソッド入れていくと良いのではないだろうか。

TApplicationのComponentsプロパティをループ回して参照するだけでも良いけど。
0714デフォルトの名無しさんNGNG
Screen->Forms
0715デフォルトの名無しさんNGNG
>>712
分かりづらかったですかね。
簡単に言うと、Main画面はSub画面を呼び出す。
Sub画面はボタンにより、Formサイズの変更を行ったりします。
この動作を、MainからSubを複数、呼び出し、
Sub毎に制御を行いたいのですが、上手く動いてくれないのです。

>>713
ちょっとよく分かり辛いのですが。
すみません。

0716デフォルトの名無しさんNGNG
制御て何
0717デフォルトの名無しさんNGNG
>>716
動作をさせることです。
0718デフォルトの名無しさんNGNG
漏れ的解釈

void __fastcall TSubForm::Button1Click(TObject* sender)
{
  Width *= 2; // SubはボタンによりFormサイズの変更をしたりする
}

void TMainForm::hoge(void)
{
  SubForm1 = new TSubForm(this); // MainはSubを複数作って
  SubForm2 = new TSubForm(this);

  SubForm1->Button1->Click(); // Sub毎に…
  SubForm2->Button1->Click();
}
0719デフォルトの名無しさんNGNG
>>718
これだとhogeが動作したときにボタンが押されたと認識して、
サイズが変わってしまいますよね。
でも、これを参考にして作ったらできました。
どうもありがとうございます。
0720デフォルトの名無しさんNGNG
質問ですが、
typedef struct{
 int  A1:1;
 int  A2:4;
} GG;
これでコロンの右の数字ってビット数ですか?
この構造体のサイズは4byteでA1ってHighになってるのでしょうか?
A1に1って代入してA1の値をみてみるとー1ってなってるのですが・・
0721デフォルトの名無しさんNGNG
>>720
それはビットフィールドだろ?
コロンの右の数字はメンバーに割り当てるビット数。
0722デフォルトの名無しさんNGNG
>>721
ありがとうございます。
でA1はLowとHighのどっちにとられるんですか?
0723デフォルトの名無しさんNGNG
>>722
処理系依存。
0724デフォルトの名無しさんNGNG
>>723
ここはC++Builderスレな罠。
0725デフォルトの名無しさんNGNG
>>724
おお、そうだった(笑)
ビットフィールドのビットレイアウトを想定した記述はすべきでないから
どっちから詰められるかを意識したこともないわけだが、
いざ調べてみるとヘルプみても標準の処理系定義項目の設定内容がどこにあるのかわからん・・
0726724NGNG
>>725
> ビットフィールドのビットレイアウトを想定した記述はすべきでないから

はげどう つーか鉄則か。
0727デフォルトの名無しさんNGNG
ん?マジで?なんで?
0728デフォルトの名無しさんNGNG
メモリの少ない組込系ですら使ったことないんだが、
BCBでビットフィールドをあえて使う理由ってあるの?
0729デフォルトの名無しさんNGNG
ビットごとに決められているデータ(ヘッダとか)を扱いやすい。
0730デフォルトの名無しさんNGNG
>>729
それ、ビットフィールドのビットレイアウトを頭に入れないと・・・。
0731デフォルトの名無しさんNGNG
あえて使う理由→データがものすごく巨大になる時
数理計画とかやってるとすごいことにる。
0732デフォルトの名無しさんNGNG
>>729
C++ならビットレイアウトをクラスで隠蔽して、クラス内部でビット演算
すりゃいいじゃんと言うか正攻法だと思うんだけど。

>>731
せいぜい数百Mのデータしか扱ったことがないので気がつかなかった。
0733デフォルトの名無しさんNGNG
>>732
>せいぜい数百Mのデータ

・・・紙テープ換算か何か?ああ、DATか。
0734デフォルトの名無しさんNGNG
>>733
こういう突っかかり方も珍しいな
0735デフォルトの名無しさんNGNG
>>734
そっとしといてやれ。
常人の「寒い」が彼の「鋭い」なんだ。
0736デフォルトの名無しさんNGNG
ようするに>>728-735ら辺ってファイルI/Oが下手でFA
0737_NGNG
http://homepage.mac.com/hiroyuki44/jaz04.html
0738_NGNG
http://homepage.mac.com/hiroyuki44/
0739デフォルトの名無しさんNGNG
Borlandのページにあった
Borland C++Builder 6 アップデートパック #4
を入れたらコンパイル時にリンカエラーとかが発生するようになって、
説明書のチュートリアル進められなくなったんでインスコし直したよ。
旧バージョンに戻したらコンパイルうまくいった。

環境Win98SE
Personal版 C++builder
0740デフォルトの名無しさんNGNG
C++Builder7ってまだか?
0741デフォルトの名無しさんNGNG
↑VC++にしる!
0742デフォルトの名無しさんNGNG
VCなんてうんこは眼中にない
0743デフォルトの名無しさんNGNG
VC買ったんだけどWIN98じゃ動かなかった…
0744デフォルトの名無しさんNGNG
>>743
そんなウンコなOSを使うのは今すぐやめましょう
0745デフォルトの名無しさんNGNG
質問です。
for (int i = 0;i<1000;i++){
Graphics::TBitmap *bmp = new Graphics::TBitmap();
Graphics::TBitmap *bmp2 = new Graphics::TBitmap();
BitBlt(bmp->Canvas->Handle,0,0,bmp->Width,bmp->Height,bmp2->Canvas->Handle,0,0,SRCCOPY);
delete bmp,bmp2;
}
これを実行するとメモリリークするんですが、どこらへんがわるいんですかね?
ちなみに↓でもリークします。

for (int i = 0;i<1000;i++){
TImage *bmp = new TImage(Image1);
TImage *bmp2 = new TImage(Image1);
BitBlt(bmp->Canvas->Handle,0,0,bmp->Width,bmp->Height,bmp2->Canvas->Handle,0,0,SRCCOPY);
delete bmp,bmp2;
}
0746デフォルトの名無しさんNGNG
>>744
OSもVCもうんこ。このメーカー自体うんこだから( ´,_ゝ`)
0747デフォルトの名無しさんNGNG
>>746 お前がうんこ
0748デフォルトの名無しさんNGNG
>>745
deleteに変数並べるのはじめて見たけど、
それだとbmp2のデストラクタが呼ばれないみたいよ。
0749745NGNG
>>748
あ〜、そうだったんですか。
ありがとう。
deleteのとこでなんか違和感を感じてたら…
0750デフォルトの名無しさんNGNG
>>747=うんこ
0751デフォルトの名無しさんNGNG
くせースレだなおい
0752デフォルトの名無しさんNGNG
ということは俺って事か
0753デフォルトの名無しさんNGNG
program Test;
{$APPTYPE CONSOLE}
type
  TTest = class(TObject)
    procedure Init;virtual;abstract;
    constructor Create;
  end;
  TTestA = class(TTest)
    procedure Init;override;
  end;
  TTestB = class(TTest)
    procedure Init;override;
  end;
constructor TTest.Create;
begin
  Init;
end;
procedure TTestA.Init;
begin
  writeln('My name is TestA');
end;
procedure TTestB.Init;
begin
  writeln('My name is TestB');
end;
begin
  TTestA.Create.Free;TTestB.Create.Free;
end.

これと同じ事をC++でやりたいんですけどうまくいかないです。
どうすれば良いんですか?
0754デフォルトの名無しさんNGNG
コンストラクタで仮想関数呼んでも派生クラスのは呼んでくれないよ。
Initメソッドで初期化しないで、TTestA,TTestBにコンストラクタ作って、
そこで初期化しないと。
0755デフォルトの名無しさんNGNG
コンストラクタの呼び出し順(=仮想関数の決定順)がC++とobject pascalで違うからね。
言語ガイドに詳しく書いてある。
0756デフォルトの名無しさんNGNG
みんなデストラクタって何書いてる?
俺はとくに書くことがないんだが・・・
0757デフォルトの名無しさんNGNG
>>756
仮にコンストラクタでなんかの変数やクラスをnewすることがあっても、君はdeleteすることなく放置か?
0758デフォルトの名無しさんNGNG
>>757
初心者なのでまだnewって使ったことないっすw そっか、deleteするときに使うんだね・・
0759デフォルトの名無しさんNGNG
>>758
逆の気が…
0760デフォルトの名無しさんNGNG
初心者なのでまだdeleteって使ったことないっすw そっか、newしたときに使うんだね・・
0761デフォルトの名無しさんNGNG
>>759
deleteがしたくてしたくてたまらないからnewするんだよ!
悪いかよ!
0762デフォルトの名無しさんNGNG
デストラクタを使いたいからdeleteする
でもdeleteするモノがないからnewする
0763デフォルトの名無しさんNGNG
小4くらいのとき、マンコが穴だなんて思いもしなかった。
が、年の離れた兄貴のいる加戸は
「ヤッターマンコーヒーライター」
などという言葉を知っているいわば勇者的存在であった。
で、穴があることを知った俺たちだが、どうしてもそれが信じられない。
で、むしろ逆にガキであることを利用して調べようと思った。
ターゲットは音楽の教師である。美人だった。今にして思えば
20歳くらいだったのではないだろうか。短大出てすぐだったように思う。
実行はいたって単純。ガキ特有のカンチョーというあれである。
あれを前に突き刺すというのだ。
ガキなら許されるであろうという勝手な発想だが、
たしかにマンコすら知らない奴がほとんどだったからナイスな判断だったろう。
で、実行は加戸だった。
加戸はなんの躊躇もなくやった。
思い切り。
思い切ってやっちゃいかんだろ、と思った。なぜにおまえはフルパワーなのだ、と。
音楽教師は泣いた。20歳前後という年齢を考えればギャグでもきつい。
ガキからすれば大人だったのだが、今思うと娘だ。
むしろ、処女だった可能性すらある。すまん先生。
が、加戸も泣いていた。
両手人差し指骨折だった。第2関節より下で折れていた。
もろに刺さったんだと感心した。やはり勇者だ。
しかも、救急隊員に、マンコに指が刺さって折れましたと泣きながら事情を説明していた。
あの姿も相当かっこよかった
0764デフォルトの名無しさんNGNG
つかデストラクタでdeleteすんなら、そのクラスはなくなるんだから
わざわざdeleteしなくてもいいんじゃねえの?
一緒にdeleteされるべ?
0765デフォルトの名無しさんNGNG
されねーよ
0766デフォルトの名無しさんNGNG
TDatabaseのログインプロンプトが開かないんですがなんでですかね。
Database1->LoginPrompt = true;
ですが。
0767デフォルトの名無しさんNGNG
>>765
あら
0768766NGNG
Delphiのdblogdlg.pas/initializationが走ってないのが原因みたいですが、
BCBからinitializationをどうやって走らせるのやら。
0769 NGNG
クールバーにコントロール(いちばん簡単なボタンを試してみた)を2個置くと2列になってしまって
ボタンがウィンドウの幅一杯に広がってしまいます。
小さくして2個とも一列に表示しようと思ってボタンをリサイズしても自動的ににウィンドウの幅一杯に広がってしまいます。
どうしたらいいのですか?
0770デフォルトの名無しさんNGNG
クールバーにツールバーとかパネル置いてから、そこにボタンを2個置くとか
0771デフォルトの名無しさんNGNG
質問です。
今BCB4PROでGUIのソフト作ってます。
ClipCursorでマウスの移動範囲を制限したいのですが、
SetCursorPosやmouse_event、ShowMessageなんかでも制限が勝手に解除されてしまいます。
これらの関数を実行しなければ制限は有効なままなのですが、
制限した後にmouse_eventでマウスクリック処理などをするため困っています。
何か前もって実行しなければならない関数などあるのでしょうか。
0772_NGNG
http://homepage.mac.com/hiroyuki44/2ch.html
0773デフォルトの名無しさんNGNG
C++Builer1で質問ですが
フォーム右クリでポップアップメニューを設定してそのメニューで「前面」項目があって
それをチェックされるとFormStyle = fsStayOnTopとして、外れると FormStyle = fsNormal;
としているのですが、うまく動作しません。
デバッガでステップ実行してるとちゃんと前面になるのですが、普通に実行すると前面になりません
なにが原因なのでしょうか?
0774769NGNG
>>770
TCoolBandのBreakプロパティをfalseにするのを忘れてました。すいませんでした。
0775デフォルトの名無しさんNGNG
>773
少なくともうちのBuilder5のヘルプには
>注意実行時に FormStyle の値をなるべく変更しないでください。
って書いてあるよ。実行時に制御するためのプロパティじゃないでしょう。
素直にTControl::BringToFrontとかAPIのBringWindowToTop(HWND)で
Zオーダー変えるんじゃ駄目なの?
0776デフォルトの名無しさんNGNG
なるべくて
0777デフォルトの名無しさんNGNG
>>775
実行時に使うなとは書いてないんですね( ´,_ゝ`)
0778デフォルトの名無しさんNGNG
>>775
俺の経験。FormStyle を実行時に変更したら、
ファイルのドラドラを受け付けるようにする DragAcceptFiles() の
効果が切れたよ。

何故か?までは追わなかったけど、FormStyle を変える事によって
ウィンドウが作り直されて、Handle プロパティが変わるからじゃないかな?

という事から考えて、Handle が不変であるという前提に拠っている
コードが悪影響を受けるから、ヘルプでは FormStyle を変更するなと
書いているんじゃないかな。
0779デフォルトの名無しさんNGNG
>773
FormStyle を使うのをあきらめて、Windows API で

// 手前に
SetWindowPos(Form1->Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
// 戻す
SetWindowPos(Form1->Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);

というのはどうでしょう?
0780デフォルトの名無しさんNGNG
>>773
プロパティ変える方法だと、
例え出来てもチラつくしフォーカスも消えるし>>778さんの言うように変更後DragAcceptFiles()やらないとD&D効かなくなるし、
私は>>779さんのようにAPIでゴリッと変更する、に同意です。
0781デフォルトの名無しさんNGNG
こんにちは、皆さんお答えありがとう

>>775
C++Builder1のヘルプにも書いてますね。
>>776
なるべくとは書いてないですね^^
>>777
書いてないですね
>>778
それは私も経験あります
でも確かShowイベでそれ書いておくと大丈夫だったような気がしましたが
>>779
あ、別にFormStyleじゃなくても、他のウィンドウより手前・戻すができればいいので
そのAPIを試してみます。情報有難うございます。
>>780
ええ、さっそくAPIを試してみます。

みなさん、ありがとうございます。
0782デフォルトの名無しさんNGNG
ああ・・
SetWindowPosでもダメでした・・
HWND_BOTTOMだとちゃんと他のウィンドウより背面にいくのですが、
HWND_TOPMOSTでは前面にきてくれないです・・
これフォームが前面にできない要因が考えられるとしたら
どのようなことでしょうか?
0783デフォルトの名無しさんNGNG
>>782
日頃の行い
0784デフォルトの名無しさんNGNG
じゃあ更に
Application->BringToFront();
してみるとか。
0785デフォルトの名無しさんNGNG
>>784
色々ありがとうございます。
しかしダメでした・・
んー何が影響してるのかなあ
0786デフォルトの名無しさんNGNG
>>785
日頃の行い
0787デフォルトの名無しさんNGNG
VC++という選択肢があるのにわざわざBuilderを選ぶやつはバカ
0788デフォルトの名無しさんNGNG
Windowsという選択肢があるのにわざわざ携帯電話を使うやつはバカ

次は?
0789デフォルトの名無しさんNGNG
バイオハザードという選択肢があるのにわざわざゴースト・オブ・マーズを選ぶやつはバカ
0790_NGNG
http://homepage.mac.com/hiroyuki44/
0791デフォルトの名無しさんNGNG
VC++なんてウンコなものを使う奴はウソコマミレでバッチィ
0792デフォルトの名無しさんNGNG
>>791
まあまあ、>>787は汚物だから
0793デフォルトの名無しさんNGNG
VC++>>>>>>>>>>>>>>>>>>>>>>>>>C++Builder
0794デフォルトの名無しさんNGNG
相手にしねぇでくれ。荒れる。
0795_NGNG
http://homepage.mac.com/hiroyuki44/hankaku08.html
0796デフォルトの名無しさんNGNG
VC++ is better than C++Builder, in anything.
Got it!?
VC++ is the best all over the world.
It's the best product ever in history.
OK?

これでわかったか?猿ども
0797デフォルトの名無しさんNGNG
彼女がいるのに風俗へ行くやつはバカ
0798デフォルトの名無しさんNGNG
>>797
それだけは承服しかねる。
0799デフォルトの名無しさんNGNG
風俗有るのに彼女作る奴は非プログラマ。
0800デフォルトの名無しさんNGNG
>>797は童貞
彼女とのSEXと風俗は別物
それがわからんのはガキってこと
0801デフォルトの名無しさんNGNG
アダルトDVDが
 最短でご注文いただいた翌日にお届け!
 http://www.dvd-exp.com 開店セール1枚 500円より
0802デフォルトの名無しさんNGNG
金払ってやるってのはプライドに反する。
0803デフォルトの名無しさんNGNG
( ´,_ゝ`)ショボいプライドだな。夢見る子供の発想か
0804デフォルトの名無しさんNGNG
セックスフレンドは生きてく上で必要不可欠だよな。
0805uwaNGNG
質問イイですか?
0806デフォルトの名無しさんNGNG
>>800
あまりに必死でワロタ
0807uwaNGNG
C++ Builder6 を買ってインストールが終わり
チュートリアルに従ってテキストエディタでも作ろうかと
考えていたのですが。。
Images が赤く表示されてWindowsのデフォルトのイメージが使えません。
Comtrl32だかも 5.〜〜バージョンなので問題はないと思います

OS Windows XP
メーカー NEC VALUESTAR VT900/1
0808uwaNGNG
すいません板間違えました
0809デフォルトの名無しさんNGNG
>>807
NECとBorlandは仲が悪いからそうなる。
0810uwaNGNG
>>809
ありがとうございます
解決策はないのでしょうか?
0811デフォルトの名無しさんNGNG
>>806
悔しいの間違いだろ( ´,_ゝ`)
0812uwaNGNG
age
0813デフォルトの名無しさんNGNG
>>811
んー確かに>>800は相当悔しかったのかもしれんな。
笑ってすまそ。
0814デフォルトの名無しさんNGNG
俺がいるのに他の男とくっつく女共は全員バカ
0815デフォルトの名無しさんNGNG
むしろこのような糞レスする>814にくっつく女こそバカである。
0816デフォルトの名無しさんNGNG
てめーそれ以上俺の嫁さんの悪口ゆーな
0817デフォルトの名無しさんNGNG
>>816
どうせ電源入れてゲームスタートしないと会えない嫁さんだろ?
0818デフォルトの名無しさんNGNG
それは嫁さんじゃなくて恋人だろう。
0819デフォルトの名無しさんNGNG
C++Builderはアダルトグッズと(._.) φ メモメモ
0820デフォルトの名無しさんNGNG
アダルトじゃない!純情恋愛グッヅだ!
プラトニックなんだよ!
0821デフォルトの名無しさんNGNG
C++Builderでおなるのが今の流行とφ(..)カキカキ
0822デフォルトの名無しさんNGNG
おならない!純なんだ!本気なんだよ!
0823デフォルトの名無しさんNGNG
男がたくさんいるのに女に走る奴らは全員ウホッ
0824デフォルトの名無しさんNGNG
ファイルをStringに読みたいんですが、下記の書き方であってますか?
もしかして、StringのLengthセットしとかないと、メモリ壊しますかねぇ。

String SFile;
TFileStream *FileStream;
FileStream = new TFileStream("test.txt", fmOpenRead);
FileStream->Write(SFile.c_str(), FileStream->Size);
0825デフォルトの名無しさんNGNG
StringListでTXT読んじゃだめなんかい?
0826824NGNG
じゃ、StringListしてみまつ。
UTF-8だけど大丈夫かなぁ。
0827デフォルトの名無しさんNGNG
C++Builder7っていつでるか教えれタコ共
0828山崎 渉NGNG
(^^)
0829Delフサギコ ◆A6VzDeLphI NGNG
  ∧,,∧  まずいかも。
 ミ,,゚Д゚彡 Delですが、参考どぞ
 ミつ日(ミ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1034090664&rm=100
0830デフォルトの名無しさんNGNG
さてはおめえ札付きのワルだな?
0831デフォルトの名無しさんNGNG
>>829
フォローされてるけど、フサギコ版はすごい遅そうだ
まさか1バイトづつFileStreamからReadBufferするとは驚異的だ(笑)
0832デフォルトの名無しさんNGNG
このすれは以後>>831がフサギコとは比べ物にならない驚異的なパフォーマンスを誇るコードの解説をするすれになりますた。
皆様ご静聴ください。
0833831NGNG
>>832
つーかすごい古いコードのようだし、今はフサギコ自身もわかってるんじゃないの?
それにリンク先の2で十分だと思うが
0834デフォルトの名無しさんNGNG
今までC++だけで使って不自由を感じたことないけど
やはりPascalも勉強しておくか・・・
0835デフォルトの名無しさんNGNG
[C++ エラー] Unit1.cpp(691): E2015 '_fastcall Strutils::RightStr(const System::AnsiString,const int)' と '_fastcall Idglobal::RightStr(const System::AnsiString,int)' の区別が曖昧
と言われてるのですが、どう対処していいかわかりません。
対処法を教えてください。
----------------------------------------
#include <StrUtils.hpp>
:
:
AnsiString strtmp;
strtmp = LE1->Cells[1][2];
strtmp = RightStr(strtmp,17); // ここでエラー吐かれる
----------------------------------------
0836デフォルトの名無しさんNGNG
strtmp = Strutils::RightStr(strtmp,17);
0837デフォルトの名無しさんNGNG
>>836
ありがとうございます
で、同一関数内に下記部分があるのに、その部分でエラーにならず、
>>835部分でエラーになるのはなぜでしょ?
---------------------------------------------------
strtmp = MidStr(sltmp->Strings[sltmp->IndexOfName("host")],6,256);
LE1->Cells[1][2] = Trim(LeftStr(strtmp,strtmp.Pos("(")-1));
strtmp = MidStr(strtmp,strtmp.Pos("(")+1,128);
LE1->Cells[1][1] = AnsiReplaceStr(strtmp,")","\0");
strtmp = LE1->Cells[1][2];
strtmp = Strutils::RightStr(strtmp,17); // これならOK(修正箇所)
----------------------------------------------------
0838デフォルトの名無しさんNGNG
>>837の質問の意図は、直前にMidStrやLeftStrがあるのに、なぜRightStrだけ引っ掛かるのかという疑問です。
0839デフォルトの名無しさんNGNG
StrutilsとIdglobalの両方の名前空間にRightStrという関数があるから。
MidStrとLeftStrはIdglobalには無いんだろう。
0840デフォルトの名無しさんNGNG
>>839
idglobal.pasを見たら、その通りでした
くだらない事を聞いてすいませんでした
0841BCB6ProにてNGNG
新規のアプリケーションを作成して、Form1のコンストラクタに

AnsiString str;

str = InputBox("aaa", "bbb", "ccc");

として実行します。
ダイアログが最初表示され、そこにIMEで漢字変換したときに例外が発生します。
これは既知のバグですか?それとも、私のマシンだけがおかしいのでしょうか?
また、デバッガからではなく、直接EXEを実行すると出ません。
暇がある方はやってみて報告していただけると助かります。

OSはXP HomeEditionです。
OS、BCBともに最新のアップデートをしています。
0842デフォルトの名無しさんNGNG
C++ Builderの方がDelphiよりファイルサイズが大きいって本当ですか?
0843_NGNG
http://homepage.mac.com/hiroyuki44/
0844_NGNG
http://homepage.mac.com/hiroyuki44/hankaku08.html
0845デフォルトの名無しさんNGNG
ヘルプのTWinControl::OnDockOverの例で出てくる、ComputeDockingRectという関数はなんなのでしょうか?
検索しても出てこないのですが。
0846デフォルトの名無しさんNGNG
>>842
本当
0847デフォルトの名無しさんNGNG
Delphi(Delphi6で確認)だったら新規作成して何もしないプログラムで374 KBなのですけど、
C++ Builderではサイズはいくらになりますかね?
0848デフォルトの名無しさんNGNG
>>847
BCB6
460288bytes(BCB6SP4,リリースモード)
BCB3
248832bytes(BCB3修正パッチ当て済,リリースモード)
0849デフォルトの名無しさんNGNG
バージョン6で、約460Kバイトですか。
では、Delphiと比べて何かメリットはあるでしょうか?
これはDelphi使うよりC++Builderでやった方が良いとかみたいな感じです。

実行速度もほぼ同じと聞いたのですけど、プログラムの処理する内容によって
大きく変化があるとかはあるでしょうかね?
例えば、画像処理はDelphiよりBCBの方が速いとかみたいな?(画像処理は例えです)
0850841NGNG
補足ですが、メニューのツール>デバッガオプション>OSによる例外で
Access Violationを「デバッガが受け取る」に設定してからではないと出ません。
0851デフォルトの名無しさんNGNG
>>849
C++(ライブラリ含む)が使いたければBCB。
Object Pascalが使いたければDelphi。

速度が気になるならBorlandなんて使わないで
iccとかVC++.NET2003とか使えよ。
0852デフォルトの名無しさんNGNG
わかりました。
どうもありがとうございました。
色々考えてみます。
0853デフォルトの名無しさんNGNG
Delphi7だと356KB(365056Bytes)
0854デフォルトの名無しさんNGNG
Delphi6は?
0855デフォルトの名無しさんNGNG
Delphi6
374 KB (382,976 バイト)
0856デフォルトの名無しさんNGNG
>>854は少し上の書き込みも見えない文盲なので説明しても無駄
0857841NGNG
IMEを「Microsoft Natural Input 2002 ver. 8.1」から
「Microsoft Natural Input 2002」に変更したら例外が発生しなくなりました。
また「Microsoft IME Standard 2002 ver. 8.1」でも例外が出ますが、
「Microsoft IME Standart 2002」は出ませんでした。

とりあえずこれで回避できたので報告しときます。
0858デフォルトの名無しさんNGNG
これのことかな?
http://leed.t.u-tokyo.ac.jp/~takeuchi/delphi/article/069/069593.html
0859841NGNG
>>858
症状は同じことを言っているのかと思い、同じ対策をしてみましたが例外が発生しました。
やはりIMEを変更したほうが良いかもしれません。
ただの例外ならいいのですが、例外を出しているのにOSがハングしてしまうのです・・・。
0860デフォルトの名無しさんNGNG
>>859
ActiveIME の問題で無いのなら初めて聞く話ですね。
XP がでてから結構経つけど、初めてのケースでしょう。

例外の内容とか教えてもらえるとうれしいな。
0861デフォルトの名無しさんNGNG
>>856
そんなに煽りたいなら2ちゃんでやれっ!!

ってここが噂の2ちゃんですか?( ´,_ゝ`)
0862841NGNG
例外はAccess Violationです。
InputBoxのダイアログで例えば「あか」と
入れてスペースキーを押して変換しようと
した瞬間に発生します。
例外ダイアログが表示されてOKを押すと
ハングしてしまいます。
0863デフォルトの名無しさんNGNG
マウスの移動範囲を設定する方法を教えて下さい
0864デフォルトの名無しさんNGNG
Main画面からsub画面を複数作成するのにvectorを用いています。
Main画面でsub画面の存在の有無が知りたいのですが、
Main側で生成したvectorの中身を調べて、sub画面の存在の
有無を知る方法はあるのでしょうか?

sub画面を作成する処理は以下のようにしています。

vector <TSubForm *> tSubForm;

//sub画面生成処理
void __fastcall TMainForm::ButtonClick(TObject *Sender)
{
tSubForm.push_back( new TSubForm( this ) );
tSubForm[num]->Show();
tSubForm[num]->Refresh();
 num++;
}
0865_NGNG
http://homepage.mac.com/hiroyuki44/hankaku06.html
0866デフォルトの名無しさんNGNG
>>863
::ClipCursor(RECT)
0867_NGNG
http://homepage.mac.com/hiroyuki44/
0868デフォルトの名無しさんNGNG
Oracle 8iの配列フィールドはEnterprise版でDBGridに表示できるとあるけど
Interbaseの配列フィールドもEnterprise版でDBGridに表示できるのか?

Professional版で配列フィールドを表示するGridがサードパーティであれば
教えてください。
0869デフォルトの名無しさんNGNG
>>868
「配列フィールド」ってなんだっけ?IB にあったかな?
0870デフォルトの名無しさんNGNG
アプリケーション インスタンスのハンドルの取得方法を教えて下さい。
0871デフォルトの名無しさんNGNG
SetWindowsHookExでキーをフックしてるのですが
ここでキーが押されなかった事にするにはどうしたらいいのでしょうか?
それとも他になにかAPIみたいなのがありますか?
0872_NGNG
http://homepage.mac.com/hiroyuki44/hankaku02.html
0873デフォルトの名無しさんNGNG
>>871
-1を返せばいけるはず
0874デフォルトの名無しさんNGNG
>>873
おお!ありがとー
つかTRUE返してるんだけどこれって-1ではない?
ちょっと試してみます
0875デフォルトの名無しさんNGNG
嗚呼・・
やっぱり普通にAlt+Tabとかでアプリ切替できます
0876デフォルトの名無しさんNGNG
Alt-Tab や Alt-Ctrl-Delete は普通のキーでは無いから。
0877デフォルトの名無しさんNGNG
>>870
HInstanceグローバル変数
0878デフォルトの名無しさんNGNG
>>876
SetWindowsHookExではそれ系のキーの無効化はできないと?
つかAlt+TabやAlt+Ctrl+Deleteは無効にできないんですか?
0879デフォルトの名無しさんNGNG
>>878
フック行く前にOS側で処理されてるはず。
というか簡単に無効にできたら危ない。
0880デフォルトの名無しさんNGNG
>>879
確かに簡単にできたら危ないんだけどね
フック前にOSにアレされるとどうしようもないですね
DirectXの何かでそれ系あった気もしたがまあそれはいいや
ありがとう
0881デフォルトの名無しさんNGNG
眠い・・・
0882デフォルトの名無しさんNGNG
>>881
それはBCBじゃどうしようもないと思う。
0883デフォルトの名無しさんNGNG
昼飯の後と夕方のこれくらいの時間が一番眠いのはボーランドも認めてる
0884デフォルトの名無しさんNGNG
ほら、すべった( ´,_ゝ`)
0885デフォルトの名無しさんNGNG
マウスクリックをフックする方法を教えて下さい。
0886_NGNG
http://homepage.mac.com/hiroyuki45/
0887デフォルトの名無しさんNGNG
>>885
フックする種類を WH_MOUSE にすればいいんじゃないの?
あとはCBuilder付属のWin32APIリファレンス参照。
0888デフォルトの名無しさんNGNG
>>887
まったくその通りでした(;´Д`)
つかC++Builder1なんでAPIアレないんですよ
0889デフォルトの名無しさんNGNG
>>888
どうぞ
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
0890デフォルトの名無しさんNGNG
これからプログラムを勉強しようと思うのですが
CとC++どちらを先に勉強したほうが効率がよいでしょうか?
0891デフォルトの名無しさんNGNG
悪いこと言わないからCからやっておけ。
0892デフォルトの名無しさんNGNG
100%C++
0893デフォルトの名無しさんNGNG
うひょー
0894デフォルトの名無しさんNGNG
むひょ
0895デフォルトの名無しさんNGNG
>>890
最初は難しく思えてもZ80とか簡単なアセンブラから始めておくと覚えやすいね。
BASICから始めた俺はレジスタが最初の壁だったな〜
0896デフォルトの名無しさんNGNG
Z80よっか8086っしょ

つか今はアセンブラ覚える必要全くなし!

もうアレなんだから普通にC++Builderでいいじゃん
0897デフォルトの名無しさんNGNG
ドレ?
0898Indy使いNGNG
Indy9コンポーネント入れたいんだけど…いれられない
ダウンして解凍してFullc5.bat実行して,できたフォルダごと環境設定で
ライブラリにパス通してもパレットにでてこない
誰かHelp!!…
0899デフォルトの名無しさんNGNG
>>898
既出、過去を見れ
0900デフォルトの名無しさんNGNG
900
0901デフォルトの名無しさんNGNG
                        / ̄ ̄ ̄ ̄ ̄ ̄ ̄
     /\      /\        < 糞スレ
     /  \    /  \        |  おめでとうございまーす
    /     \_/    \      \_______
    /               \
   /                ヽ___  ___
  /  /  ヽ__/  \    /     ゙Y"     \
 |         │  /      /               \
 |       丶/     /                 \
 \         / ̄ ̄ ̄ ̄)        *      ( ̄ ̄ ̄ ̄)
   ヽ_____|    ─<         |\      >─   (
           |      )     /  (|ミ;\    (      )
           ヽ    ̄ ̄)    /(___人|,iミ'=;\  (  ̄ ̄   )
           /" ̄ ̄ ̄ ̄   /    《v厂リiy\  ̄ ̄ ̄ ̄\
           /        /        ゙|,/'' v:,,、.¨)z,_       \
          /       /         ミ/ .-─ .゙》z、      \
          /      /           〔」″ノ‐ 、u ¨\      )
         (      /             ゙|, ..冫 .rー    ̄\_   |
          |      〔              ミ./′   ..r-ー __,,ア┐ |
          |      |              {. .,,,,   .′ .´′ .¨\|
0902デフォルトの名無しさんNGNG
          |       |              ∨   ノ冖′=vvvvvv¨\
          |     /               ミ.  ,i'          .゙\_
          |     /                .{. ノ  ,r¬″       .¨\
          |     /                 ゙|, |  ノ      ー'''''''''''  .ーミz
          |     |                  ミ.     .,、 ._,,,、、r   ,,,,_____ ゙┐
      _/"     |                  .ミ.   ./′ ´′      ̄⌒'h..¥
     (______)                  {.  }  ._,,,、  ,ノ冖''^¨    ″〕
                                 ゙|, .,| ./`  ,r'′  vvvv、   |
                                  .ミ、.` |    二、      〔  、 ,|
                                  .〔  |  .、 〔  rーー   |  |.,}
                                   .ミ .′ .|  〕  .} ─-「  y-リ
                                   .\   |,  ´v,,,]、、、v-  ..,/′
                                     ゙\ .\、    .  _/
                                      ¨'ーvu,,____''工レ-'″
0903デフォルトの名無しさんNGNG
C++Builder 、personalってDelphiみたいに無料で使えるのかと思(略
んで、BCCってC++Builderの開発環境を取り除いただけと聞いたことがあるんですが
C++Builderのソースコードをコンパイルして実行なんて、、できませんよね?
0904デフォルトの名無しさんNGNG
VCL使ってると無理だと思う。
0905デフォルトの名無しさんNGNG
久々に使ったけど、エディタがぜんぜん進化してないのね。
builderは統合環境を使わざるを得ないんだから、
せめてVC程度のエディタは搭載してほしい。
0906デフォルトの名無しさんNGNG
外部エディタ使えばえぇやん
0907デフォルトの名無しさんNGNG
おいおい・・・
VCのうんこエディタのマシだってかよ・・
>>905は使いこなしてないっぽいな( ´,_ゝ`)
0908デフォルトの名無しさんNGNG
確かにBuilderの補完は遅すぎるね。
あまりにも遅いので切って使ってるし。
0909デフォルトの名無しさんNGNG
・一括整形
・複数行インデント(複数行選んでTAB押し)

Builderってできたっけ?
0910デフォルトの名無しさんNGNG
Ctrl+Shift+I, U
0911デフォルトの名無しさんNGNG
一括整形は無理ぽ
0912デフォルトの名無しさんNGNG
( ´,_ゝ`)一括整形 ?
0913デフォルトの名無しさんNGNG
VCでも一括整形ってできたっけ?
Vimぐらいしかシラネ
0914Delフサギコ ◆A6VzDeLphI NGNG
  ∧,,∧  VC#ではできたんじゃなかったかな?
 ミ,,゚Д゚彡
 ミつ日(ミ
0915デフォルトの名無しさんNGNG
VC6でもできるよ。範囲選択してAlt+F8で自動一括整形。
0916デフォルトの名無しさんNGNG
普通にアプリ作っているとき、
プログラムのなかに大量にprintfが入ってるとまずい?
アプリ終了時に原因不明のエラーが出てて、
これ外したらエラーが出なくなったんだけど。
0917デフォルトの名無しさんNGNG
ファイルを分割してヘッダファイルが増えると

[C++ エラー] sysmac.H(58): E2040 宣言が正しく終了していない
って全然見た事もないヘッダファイルからエラーが発生するのですが..

extern "C" {//<-ここでエラー発生
#pragma option push -vi


extern "C" {
#pragma option push -vi

解決方法ありましたら宜しくお願いします
0918デフォルトの名無しさんNGNG
もう二つ
BCB6のエディタで行番号を表示するにどうすればいいですか?

同じくエディタで改行コード記号を表示させてカーソルが
改行コードにフォーカスさせるにはどうすれば良いでしょうか?
0919デフォルトの名無しさんNGNG
CPAD使えば良いだろ
0920デフォルトの名無しさんNGNG
>>919
CPADだとコンパイルまでできるのですね
ありがとうございます。
0921デフォルトの名無しさんNGNG
C++Builderで、DirectXとか、使わずに、
ゲーム作るとしたら、やっぱり、IMAGEつかう?
それとも、フォームに描く?
0922デフォルトの名無しさんNGNG
ビットマップに描いて、貼る場所は適当
0923山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0924デフォルトNGNG
RichEdit->Perform(EM_SETOPTIONS,ECOOP_OR,ECO_VERTICAL);
これで、縦書きができる。うそかほんとかどっちでしょう?
0925 NGNG
C++BuilderでDLEPHIのパスカルのコードのコンパイルできるの?
VCLはパスカルで書かれてるんでしょ。
0926|д・彡 ◆A6VzDeLphI NGNG
>>924
OSに依存するみたい。
昔のRichEd32.dllをExeと同じフォルダに
おいておくと実現できたりもするとかしないとか。
0927  NGNG
下がりすぎなので
age
0928デフォルトの名無しさんNGNG
>>925
ぉぅ, ょゅぅ
0929デフォルトの名無しさんNGNG
うそということになるみたいですね。
こんな感じで、縦書きになるみたいなのですが。
うまい方法、探すのに一苦労ですね。924でした。
どうも、ご清聴、ありがとうでした。
0930デフォルトの名無しさんNGNG
>>925
Delで書いたアプリでもそのままコンパイル通ります(゚∀゚)b
0931デフォルトの名無しさんNGNG
ていうかC++BuilderにはPascalコンパイラもついてくるしな(dcc32.exe)
0932  NGNG
>>928 >>930 >>931
おお、ありがとう。
ちょっと試してみたけど統合環境からdelhiのプロジェクトを開いてもうまくいかなかったけど
pasをプロジェクトに追加したらコンパイルできた。
pasとcppの混ざったやつがコンパイルできてリンクできるんだね。すごい。
しかし二つの言語じゃ型やその他、色々違うのになんで特別なことしなくてもできるのだろう?
でもクラスエクスプローラがpasファイルを認識できないみたいなのが痛い。
delphiのパーソナルにもコードエクスプローラがついてないみたいだし。
0933932NGNG
ちょっとやってみてDelphiのフォームに対応するpasやdfmをBuilderのプロジェクトに追加すると、プロジェクトのcppファイル(WinMainがあるやつ)に
  USEFORMNS("ChOwn1.pas", Chown1, Form1);
てのが追加されこれが#includeの役割と変数Form1を定義してるらしいことはわかったし、
ふつうのpasファイルとかを追加してコンパイルしたらhppファイルが追加されることもわかったけど
もっと詳しくBuilderでpasファイルを利用するやり方が書いてある本とかWebを知りませんか?


0934デフォルトの名無しさんNGNG
>>932
弊社のサポートなどいかがでしょう?
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧_∧ ニヤニヤ
 ( ・∀・)
 (    )
 | 某|  
 (__)_)
0935デフォルトの名無しさんNGNG
久しぶりに見たなそれ
0936デフォルトの名無しさんNGNG
いっそのこと、Delphiと統合しちゃえばいいのにねぇ。
売り上げ減るからやらんのかもしれんが。
0937デフォルトの名無しさんNGNG
Borland Developer Studioでそのうち統合されます。
0938デフォルトの名無しさんNGNG
フリーコンパイラー使えよ、
なぜわざわざ買ってまでBCBとかVC++とか使うんだ?
0939デフォルトの名無しさんNGNG
>>938
貧乏人は勝手にフリーコンパイラーで手間隙かけてろ
0940デフォルトの名無しさんNGNG
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□

0941デフォルトの名無しさんNGNG
向こうのサイトでは
C++ Studioってなってるけど 何あれ
16bit版をだきあわせですか?
0942デフォルトの名無しさんNGNG
つか、そろそろ次スレよろ
0943デフォルトの名無しさんNGNG
□□□□■□□□□□■□□□□□□□□□□□□□□□□□□□□□
□□□■■□□□□□■□□□□□□□■■■■■■■■■■■■□□
□□■■□□□□□■■■■■■□□□□□□□□□□□□□■■□□
□■■□□■□□□■□□□□■□□□□□□□□□□□□■■□□□
□□■□■■□□■■■□□■■□□□□□□□□□□□■■□□□□
□□□■■□□■■□■■■■□□□□□□□□□□□■■□□□□□
□□■■□□□□□□□■■□□□□□□□□□□□■■□□□□□□
□□■□□□■□□□■■■■□□□□□□□□□□■□□□□□□□
□■■■■■■□□■■□□■■□□□□□□□□□■□□□□□□□
□□□□■□□□■■□□□□■■□□□□□□□□■□□□□□□□
□□■□■□■□□□□■■□□□□□□□□□□□■□□□□□□□
□□■□■□■□□□□□■■□□□□□□□□□□■□□□□□□□
□■■□■□■□□□□□□□□□□□□□□□□□■□□□□□□□
□■□□■□□□□■■■□□□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□■■■□□□□□□□□□□■□□□□□□□
□□□□■□□□□□□□□■■□□□□□□■■■■□□□□□□□
0944VCLのTreeViewNGNG
Borland C++6を使っているのですが
VCLのTreeViewの表示でノードの頭に画像を表示させたい
のですがヘルプだけではどう使って良いか分からなかった
のでVCLに関する内容が書かれた書籍ありましたらお教え
願います。
0945デフォルトの名無しさんNGNG
>>944
このページの下ぐらいにImageListを使った方法が載ってます。
http://www.philly.ne.jp/~hanya/vb/treeview.htm
0946デフォルトの名無しさんNGNG
ついでにTCustomTreeView::Imagesプロパティのヘルプも目を通して
おくとなお良いです。
レス数が900を超えています。1000を超えると表示できなくなるよ。