09/11/25 15:51:58
つ URLリンク(www.efg2.com)
51:デフォルトの名無しさん
09/11/25 16:15:57
何この糞見づらいページは
怪しいライブラリを使わないで変換する方法を教えてください
52:デフォルトの名無しさん
09/11/25 18:18:07
自分で作れ
53:デフォルトの名無しさん
09/11/25 20:01:24
Susie pluginって手もある。
54:デフォルトの名無しさん
09/11/25 23:31:03
>>48
XP互換モードでもダメでした。
スクロールビューの中にコントロールを置いて、上下左右スクロールをさせる作りのアプリは
多そうだけど、非互換でいいのだろうか・・
Vistaからの最適化の中で切られたんだろなぁ。Windows7 SP1で直ればいいけど。
55:デフォルトの名無しさん
09/12/05 11:30:08
>>28
カメだがBCB6でもTurboCでもXPなら落ちる
2000なら落ちない
Silverlightとの相性が悪いとおもっているが原因不明
56:デフォルトの名無しさん
09/12/07 19:22:33
すいません、素人くさい質問ですが
TStringList *plist[100] ;
for ( int i = 0 ; i < 100 ; i ++ )
plist[i] = new TStringList ;
とやった場合は、delete [] を使うの?
それとも delete plist[i] のループを回すべき?
plist 配列はその時々に応じて確保される配列数が 50 だったり、20 だったりするのですが、どっちで delete すべきでしょうか?
57:デフォルトの名無しさん
09/12/07 20:53:21
boost::shared_ptrで包んでstd::vectorにでも放り込んでおけ
もしくは普通にnewしてboost::ptr_vectorな
58:デフォルトの名無しさん
09/12/07 21:31:41
>>56
delete plist[i] のループを回す
59:デフォルトの名無しさん
09/12/08 03:12:34
ここはくだすれ...
>plist 配列はその時々に応じて確保される配列数が 50 だったり、20 だったりするのですが、どっちで delete すべきでしょうか?
ならば、plist 自体を動的に確保したら?
olist = new TStringList[50];
そうすれば
delete [] plist;
で、plist のメモリ解放を行う直前に、個々の TStringList のデストラクタも呼ばれる。
URLリンク(detail.chiebukuro.yahoo.co.jp)
URLリンク(www.sist.ac.jp)
60:デフォルトの名無しさん
09/12/08 11:24:25
C++ Builder 2009 Pro (Electronic Software Delivery)
$98.98 安いよー
URLリンク(www.journeyed.com)
61:デフォルトの名無しさん
09/12/08 12:22:03
>>60
>Academic Proof Required
安くない
62:デフォルトの名無しさん
09/12/08 18:06:56
BCB6から2010へプロジェクトを移行したのですが、
↓文字を扱っている箇所でエラー(const char*はconst wchar_t*に変換できない)が発生します。
Application->MessageBox("AAA");
試した事は
1,プロジェクトオプションの「_TCHARマップ先」をwchar_tに変更
2,#define USTRING_AS_WCHART としてみた。
他に何か必要なのでしょうか?
アドバイスお願いします。
63:デフォルトの名無しさん
09/12/08 18:50:24
L"AAA"
64:62
09/12/08 20:23:03
>>63
アドバイス有り難うございます。
L"AAA"で修正できましたが、個別に該当する箇所を修正する方法では無く、
プロジェクト全体にまとめて適用できる様な方法はないでしょうか?
65:デフォルトの名無しさん
09/12/09 03:25:38
>プロジェクト全体にまとめて適用できる様な方法はないでしょうか?
ありません。
C / C++ 言語では文字型リテラルには型が付いています。
コード上で明示的に char か wchar_t (最近のだと wchar16_t と wchar32_t もあります) で有ることを指定する必要が有ります。
文字列リテラルがメモリの初期化の簡便記法でしかなかったころの歴史的名残です。
対するに Delphi の文字リテラルは評価するときに型が決まるので記法上は一種類しか有りません。
66:デフォルトの名無しさん
09/12/09 05:04:03
文字列置換ツールで置換してしまえば、いいじゃん。
67:デフォルトの名無しさん
09/12/09 06:42:05
無条件に全置換すると、char* を必要としているところでエラーとなるよ。
2010 になってもデフォルトでは UNICODE マクロが付かないので(過去との互換性の問題かな)
_T マクロは役に立たないし。
このコンパイルエラーが出るところが、BCB6 からの一番の変更点なので、
手を抜かずに全部確認した方が、後でバグが出て泣くより正しい道だと思います。
68:62
09/12/09 10:10:02
アドバイス有り難うございます。
手を抜かずに個別に修正したいと思います。
69:62
09/12/10 16:45:46
またまた教えてください。
外部DLLの関数を呼び出す時にchar*を渡すのですが、
2010ではエラー(const char*はconst wchar_t*に変換できない)が出ます。
2番目の引数にこれはcharだよと明示しないといけないと思うのですがどうすれば良いのでしょうか?
//BCB6で動作している記述
Tcl_CreateCommand( interp, "ABC", ( Tcl_CmdProc * )ABC_Proc, ( ClientData )NULL, ( void (*)())NULL );
//関数宣言
Tcl_Command Tcl_CreateCommand( Tcl_Interp interp,
char *cmdName,
Tcl_CmdProc proc,
ClientData clientData,
Tcl_CmdDeleteProc deleteProc);
70:デフォルトの名無しさん
09/12/10 18:57:08
つうか、第3引数の型は、[ Tcl_CmdProc ] ? それとも [ Tcl_CmdProc* ] ?
71:デフォルトの名無しさん
09/12/10 22:02:24
Visual c++でプログラムを書いて、コンパイルしました。
Unixでいうscriptで実行結果を出力したいのですが、どうしたらいいでしょうか?
72:デフォルトの名無しさん
09/12/10 22:18:11
頑張ってください。
73:デフォルトの名無しさん
09/12/11 05:42:43
C/C++ コンパイラとしての機能は 6 も 2010 も同じなので、
VCL が絡まなければ、違いは出てこないはずです。
少なくとも char と wchar_t に関しては変更は有りません。
提示されているコードではエラーは出るはずが無いので、何とも解説/回答できませぬ。
エディタ上で Tcl_CreateCommand と打った後コード支援で出てくる引数のプロトタイプを
確認することを勧めます。
もしそこで表示される第二引数 cmdName の型が char * ではなく wchar_t * だとしたら、
ヘッダファイルや関数定義を見直してください。
74:デフォルトの名無しさん
09/12/11 06:07:05
>C/C++ コンパイラとしての機能は 6 も 2010 も同じ
これはウソでしょう
75:デフォルトの名無しさん
09/12/11 07:44:09
くだすれだから勘弁してくれな > 74
バグ修正や C++0X 規格の一部先取り以外で
C/C++ コンパイラとしてどこら辺が変わったのかまとめてくれるとありがたいぞ > 74
76:62
09/12/11 10:16:16
>>73様
御指摘頂いたように宣言を見直したら第2引数ではなく第5引数に誤りがありました。
思い込みで作業していたようで大変助かりました。
有り難うございました。
77:デフォルトの名無しさん
09/12/11 15:51:15
いえいえ。お礼はいりませんよ。
78:デフォルトの名無しさん
09/12/16 14:10:13
TBitmapにOutTextで文字を書いた時に
この文字に指定ドット数で輪郭をつけたいのですがどうやったらいいですか?
元の文字はそのままで文字の外側につけたいので文字が指定ドット分大きくなるイメージなのですが。。
79:デフォルトの名無しさん
09/12/18 21:54:01
ウインドウの大きさが可変なダイアログを作ろうとして
BorderStyle=bsSizeable; にしました。
これで、大きさは変更できるようになったのですが
ウインドウの右下の角に、サイズ変更可の印が出てくれません。
印を出すには、どうすれば良いでしょうか。
80:デフォルトの名無しさん
09/12/19 08:44:20
>>79
TStatusBarを配置する
81:デフォルトの名無しさん
09/12/19 12:31:51
TStatusBarを配置しました。
マークが出ましたが
とても間抜けなダイアログボックスになりました。
82:デフォルトの名無しさん
09/12/22 04:00:09
できたのだからよいではないか
83:デフォルトの名無しさん
10/01/07 20:51:36
getlineでファイルから
商品名,2009/11/2
にのようになってる行を読み取り、商品名、西暦、月、日をそれぞれ別の変数に格納したいです。
getlineでどのように書けばできるのでしょうか?
84:デフォルトの名無しさん
10/01/07 22:21:41
俺なら','をstrchrで探して前半を切り出し
後半はsscanfでまとめて取得するかな。
85:デフォルトの名無しさん
10/01/08 08:20:45
>>83
俺ならstd::tr1::regexで取得するかな。
86:デフォルトの名無しさん
10/01/08 18:50:47
例外の発生したアドレスをExceptionクラスから受け取ることってできないんですか?
そのような情報を取得する方法ってないのでしょうか?
87:デフォルトの名無しさん
10/01/13 14:43:58
C++builder2010って64ビットに対応してる?
88:デフォルトの名無しさん
10/01/13 16:07:54
してない。
2011年夏の予定
89:デフォルトの名無しさん
10/01/13 16:19:10
そんなあ><
90:デフォルトの名無しさん
10/01/13 19:26:30
ま た お ま え か
91:デフォルトの名無しさん
10/01/19 02:01:43
.resを作った後、そのリソースをexeにくっつけて
コンパイルするにはどう記述すればいいの?
92:デフォルトの名無しさん
10/01/19 06:25:38
>ilink32.exe
と打ってコマンドラインのヘルプを確認しましょう。
bcc32.exe の引数に、.res ファイルを書く事もできます。できるはず。
93:デフォルトの名無しさん
10/01/19 13:14:02
つーか、プロジェクトにres放りこんどけと
94:デフォルトの名無しさん
10/01/19 14:26:28
知らないならレスしないで下さい><
95:デフォルトの名無しさん
10/01/19 20:46:18
ま た お ま え か
96:デフォルトの名無しさん
10/01/23 08:24:17
ActiveXに関する質問なんですが、
VCのMFCでtypelib追加ウィザードで作成されたクラスには
LPDISPATCH型をパラメータにしたコンストラクタがあって、
そこにVARIANT変数のpdispVal等を使用して作成していたのですが、
BCB6でタイプライブラリの取り込みを行った際、
そのLPDISPATCH型をパラメータにしたコンストラクタがなくなって
コンストラクタには「TComponent* owner」になってしまいました。
LPDISPATCHをそのクラスに設定するにはどのようにすればいいでしょうか?
97:デフォルトの名無しさん
10/01/23 11:05:26
10年前の BCB6 だとサポートできない機能があると思いますが
たぶん何とかなるとおもいます。
取り込み元 ActiveX の Typelib の定義を見せてください
あと、BCB 側のプロジェクトディレクトリに、インポートのログファイルが落ちていませんかね?
98:デフォルトの名無しさん
10/01/23 11:25:09
初歩的な質問で恐縮です。
BCB6のプログラム中でフォントを指定したいのですが,例えば
Image1->Canvas->Font->Name="CourierNew";
Image1->Canvas->TextOutA(10, 10, "ABC") ;
と書いても,デフォルトのフォントのままの文字が現れて,変ってくれま
せん。となたか解決方法をお教え下されば幸です。
因みにフォントのサイズやスタイルは,
Image1->Canvas->Font->Size=16;
Image1->Canvas->Font->Style=TFontStyles() << fsBold;
Image1->Canvas->Font->Style=TFontStyles() << fsItalic;
で変えられます。
99:デフォルトの名無しさん
10/01/23 11:43:49
Image1->Canvas->Font->Charsetを変えてみる
100:デフォルトの名無しさん
10/01/23 12:02:21
BDS2006を使っています。
TSimpleEvent *event=new TSimpleEvent();
とするとエラーになります。
ヘルプを見ると、コンストラクタは引数なしなので
これで良さそうなのですが、どうも原因がわかりません。
TSimpleEventはどう使えばいいのでしょうか。
101:デフォルトの名無しさん
10/01/23 12:28:36
それでいいはずだから、
#include <SyncObjs.hpp>
か?必ずエラーの内容書こうぜ。
102:98
10/01/23 13:12:43
>>99様
有難うございました。
解決しました。
103:100
10/01/23 13:25:51
[C++ エラー] Main.cpp(1917): E2285 'TSimpleEvent::TSimpleEvent()' に一致するものが見つからない
となります。
#include <Syncobjs.hpp> はしています。
104:デフォルトの名無しさん
10/01/23 14:54:05
ヘルプが更新されてないのかね。今は↓らしい。Syncobjs.hppの中を見て確認したほうがいいかもしれない。
Syncobjs::TSimpleEvent * __fastcall TSimpleEvent(_SECURITY_ATTRIBUTES * EventAttributes,
bool ManualReset, bool InitialState, System::UnicodeString Name, bool UseCOMWait);
105:デフォルトの名無しさん
10/01/23 15:34:26
TSimpleEvent メソッドは,システムのイベントオブジェクトを作成し,TSimpleEvent オブジェクトをインスタンス化してそのイベントを表します。
__fastcall TSimpleEvent(void);
となってるね
Update全部当てたけどこのまま
106:100
10/01/23 16:03:16
見てみました。
Syncobjs.hpp の定義に
__fastcall TSimpleEvent(void);が無いですね。
でも、
Syncobjs::TSimpleEvent * __fastcall TSimpleEvent(_SECURITY_ATTRIBUTES * EventAttributes,
bool ManualReset, bool InitialState, System::UnicodeString Name, bool UseCOMWait);
これって、TEventと同じ引数じゃないですか。
TEventと同じならTSimpleEventの意味がないですよね。
というかTSimpleEventは名無しのハズですから
もしかしたら、バグでしょうか。
あと、最後の引数 bool UseCOMWait これが謎です。
107:デフォルトの名無しさん
10/01/23 16:16:11
URLリンク(www.mombu.com)
にもあるけどhppの生成バグかね。
108:デフォルトの名無しさん
10/01/24 12:31:07
ちなみにC++Builder2010のヘルプでは
C++ の情報
ファイル SyncObjs.hpp
TSimpleEvent = class(TEvent)
[edit] C++ の情報
ファイル SyncObjs.hpp
TEvent = class(THandleObject)
となってるからまた仕様が変更されているようですね
いつから変わったんだろう
109:デフォルトの名無しさん
10/01/24 12:32:13
と思ったらちゃんと書いてあった
SyncObjs.TSimpleEvent のコンストラクタFrom RAD Studio VCL Reference
[edit] C++ の情報
Syncobjs::TSimpleEvent * __fastcall TSimpleEvent(_SECURITY_ATTRIBUTES * EventAttributes,
bool ManualReset, bool InitialState, System::UnicodeString Name,
bool UseCOMWait);
virtual void __fastcall ~TSimpleEvent(void);
これはさすがにバグが取れているようだ
110:デフォルトの名無しさん
10/01/27 15:14:53
TRichEditで質問ですが。
SelAttributesで一部の色を変更した時に
何処が何色に変更されてるかを調べる方法を教えてください。
111:デフォルトの名無しさん
10/02/01 16:38:07
早く教えて
112:デフォルトの名無しさん
10/02/03 17:27:06
C++ Builder 2010でZlibを使いたいんですけど
Boostの中にすでに入っているようで
これを使うにはどうしたらいいでしょうか?
113:デフォルトの名無しさん
10/02/03 17:58:58
CBuilder では使えません。
必要なファイルが足りないようですね
114:デフォルトの名無しさん
10/02/04 15:54:09
112です
Boostのを使えない場合
普通にZlibの最新版をダウンロードして
ソースコードをプロジェクトに加えれば使えるんでしょうか?
115:デフォルトの名無しさん
10/02/04 16:01:32
この頃のオープンソースでは CBuilder/BCC 用の設定をつけていない物も多いので
「がんばってください」と言うしかないです。
Delphi 側の実装である zlib ユニットを利用するというてもあると思います。
zlib.hpp をインクルードしてみてください。
116:デフォルトの名無しさん
10/02/04 21:46:04
Win32DLL版のzlibと必要なヘッダを落とし
DLLからimplibするだけだろ
117:デフォルトの名無しさん
10/02/05 09:11:19
112です
ZlibのDLL版のimplibでうまくいきました
ありがとうございました
118:デフォルトの名無しさん
10/02/08 11:24:36
C++Builderのエディタ部分でタブとEnterキーが効かず。スペースが一文字削除になるんですが。
これってどうすれば治りますか?
119:118
10/02/08 11:29:22
>>118すいません、とても恥ずかしい理由で治りました。
もう一つ質問させて頂きたいのですが
C++Builder(のソケット)でネットワークプログラミングをする場合、書籍はwinsock2のモノでも
大丈夫でしょうか?
120:デフォルトの名無しさん
10/02/08 21:05:35
C++Builderのソケットって何を指していってる?まぁどの方法でもWinSock2で当たりを
つけておく必要があることに変わりはないけど。TServerSocket/TClientSocketは
SMP上のマルチスレッドではうまくいかない、という報告を見たことがあるので注意して。
Indyならマルチスレッド必須(基本ブロッキングなので)。自前で実装するならご自由に。
ICSはよくわからん。
121:デフォルトの名無しさん
10/02/08 22:14:13
Qt は C++Builder でも使えた?
122:デフォルトの名無しさん
10/02/10 10:52:00
特定部分をCUDAを使って計算させたいのですが、C++BuilderでCUDAを使うには
どのような設定が必要なのでしょうか?
123:デフォルトの名無しさん
10/02/10 11:15:52
できません。
124:デフォルトの名無しさん
10/02/10 12:33:59
できないって、DLLとかでもだめなのかい?
125:デフォルトの名無しさん
10/02/10 16:49:05
マイナー環境を使ってる者の宿命です。
126:デフォルトの名無しさん
10/02/10 16:54:11
うるさいだまれぶた
127:デフォルトの名無しさん
10/02/12 15:37:10
時間がかかるループ中にプログレスバーを別スレッドで進めたいと思い
ヘルプどおりにTThreadの派生クラスを作りました
Executeの中でForm1->ProgressBar1->StepIt()を呼ぶだけのシンプルな
もので、これ自体が正常に動作することは確認しました
しかし、肝心の時間がかかるループになるとこのスレッドに制御がこないため
プログレスバーが進みません。ループに入る前にnewで作った時に1回よばれ
ループが終わった時にもう1回よばれるだけです。コンストラクタの引数はfalse
にしてあります。Priorityプロパティも変えてみましたけど変わりません。
どうやったらループの中で並行してスレッドが動くようにできるでしょうか?
128:デフォルトの名無しさん
10/02/12 15:52:49
つーかそれスレッドから呼んだら落ちるんじゃね?
もしくは、落ちなくても正常にアレされなさそう。
void Execute( void )
{
while( !Terminated ){
Synchronize( Unko );
Sleep(1);
]
}
void Unko( void )
{
Form1->ProgressBar1->StepIt();
}
これでどうよ?
129:デフォルトの名無しさん
10/02/12 16:09:46
>>128
それもやってみましたけど変わりませんでした
時間がかるループ以外のところでやると正常にプログレスバーは進みます
ループに入るとその間だけ呼ばれなくなります
130:デフォルトの名無しさん
10/02/12 16:11:35
んじゃむしろそっちのループにSleepいれたらどう?
131:デフォルトの名無しさん
10/02/12 16:26:19
それなら直接 StepIt を呼んだ方が効率がいいような気がします
ループの方は細かいループがたくさんよばれるのでそれらに1つ1つStepIt入れるの
がいやでなんとか別スレッドでできないものかと悩んでいます
132:デフォルトの名無しさん
10/02/12 16:43:13
それCPU負荷100%になってるだろ
133:デフォルトの名無しさん
10/02/12 16:50:52
リソースモニターでみると「応答なし」になってます
これが原因でしょうか?
134:デフォルトの名無しさん
10/02/12 16:56:18
スレッドにSleepを入れるのは当然として
他のループにもいれないとまずいだろ
135:デフォルトの名無しさん
10/02/12 17:04:25
ようやく分かってきました
SleepかStepItかProcessMessages
あたりをループの中で呼ぶしかないんですね
ループの部分のソースコードはMacと共有してるんで
あまりやりたくなかったんですけど
#ifdef使って入れてみます
アドバイスありがとうございました
136:デフォルトの名無しさん
10/02/14 04:21:42
失礼します。
抽象的な質問で申し訳無いのですが、BCB6と2009や2010の互換性ってどのくらいあるのでしょうか?
BCB6で作成したソフトをいじろうと思っているのですが、BCB6の購入は難しいようなので、2010を購入するか悩んでいます。
Unicodeになるなど、100%はありえないのはわかっていますが、コンポーネントの動作等はある程度使える物なのでしょうか?
よろしくお願いします。
137:デフォルトの名無しさん
10/02/14 04:33:07
ある程度使える
共通の部分だけ使えば互換性は確保出来る
きっとそのうち萎えると予想
138:デフォルトの名無しさん
10/02/15 08:31:16
BCB2010でウェブブラウザ作りたいんですが
TWebBrowserとTCppWebBrowserの違いが分かりません
後者の方はヘルプにも何もでてないし
エンバカデロのサイトを検索しても何もヒットしません
TCppWebBrowserはもう使うなということでしょうか?
139:デフォルトの名無しさん
10/02/15 11:32:57
先週末からAboutDelphi の過去ログ検索のリンクが死んでるんですけど
消息とか代替とかご存じの方おられませんか?
140:デフォルトの名無しさん
10/02/15 22:16:09
Delphi-MLか公式フォーラムか、武内さんが見てそうなところで聞くのが吉かと。
単にサーバが落ちてて気がついていないだけでは?
141:デフォルトの名無しさん
10/02/16 14:45:47
2010って64ビットに対応してるか?
142:デフォルトの名無しさん
10/02/16 14:55:10
してない
64bit正式対応は2011からだぞなもし
143:デフォルトの名無しさん
10/02/16 15:31:58
まじですか
2011ていつでるんだい?
144:デフォルトの名無しさん
10/02/16 15:43:31
今年6~7月頃じゃねーの?
145:デフォルトの名無しさん
10/02/16 15:57:28
あ、今年ですか
んじゃそれまで待ってみようかな
ありがとうブタ君
146:デフォルトの名無しさん
10/02/16 16:02:45
2011はLinux対応 その後改善を2012でやって 64はその後の2013の筈
147:デフォルトの名無しさん
10/02/16 16:04:05
不完全なくりっくす復活されてもなぁ。
148:デフォルトの名無しさん
10/02/16 16:09:20
TRichEditで文字属性ごと他のTRichEditにコピーする方法を教えてください
149:デフォルトの名無しさん
10/02/16 17:08:58
>>136
2007はまだ買えるよ。BCB6はVistaで起動しなかったので慌てて2007にしてコンパイルし直したけど,
比較的苦労せずに済んだ。ただ,いつものことながら2007はパッチ当てないと使い物にならない。
パッチ当てても,時々不可解なことが起こる。何も悪いことしてないのにアプリをExitするとアクセス違反
で落ちたり,アプリケーションアイコンが消えたり...
何とか逃げ道を探して使ってるけどね。
150:136
10/02/17 00:59:21
>>137
>>149
ありがとうございます。
普通に想定できる範囲での修正でなんとか出来そうですね。
どうせコンパイルし直すなら、最新にしようかなと。
151:デフォルトの名無しさん
10/02/17 08:43:41
>>149
Unicodeコンポでつまずいたり、吸収するライブラリとか作ったりされましたか?
これから同じ状況を迎えるのでw
152:デフォルトの名無しさん
10/02/18 14:42:20
>>149
BCB6はVistaで起動できるようだけど?
URLリンク(yoshidastyle.net)
153:デフォルトの名無しさん
10/02/18 15:30:43
TRichEditにAddするとキャレットが消えるんだけど
これを表示される方法を教えてください
154:デフォルトの名無しさん
10/02/18 15:33:52
ちなみにShowCaret( RichEdit->Handle );じゃ表示されませんですた
155:デフォルトの名無しさん
10/02/19 15:57:45
TListBoxで選択が変わったことを検出したいのですが、
TForm1::TForm1(TComponent* Owner)
{
ListBox1->WindowProc = MyWindowProc;
}
void __fastcall TForm1::MyWindowProc(TMessage &Message)
{
if (Message.Msg == WM_COMMAND) { // 0
if (Message.WParamHi == LBN_SELCHANGE) { // 1
return; // 2
}
}
}
としてみたのですが0の部分までは描画要求などで頻繁によばれますが
セルをクリックして選択を変えたときにはMyWindowProc自体が呼ばれません
(1ではなくて0の部分もよばれない)
なにがいけないんでしょうか?
156:155
10/02/19 19:48:48
理由がわかりました
TListBoxはWM_COMMANDを送らないんですね
どうしてもとりたければ派生クラス自分で作れってことですね
157:デフォルトの名無しさん
10/02/19 21:05:38
>>155
矢印キーによる選択でも、OnClickイベントが発生するけど
解決できない処理なのか
158:デフォルトの名無しさん
10/02/19 21:15:11
すでに選択されていたものが再びクリックされたのか
選択されていなかったものが新たにクリックされたのか
で処理を切り分けたいんです
159:デフォルトの名無しさん
10/02/19 22:36:17
>>158
フラグ用の変数を用意して、現在選択している項目と同じ項目を再度クリックされたかを判定する事になると思う。
ListBox->Tagプロパティを使ってなければ、これを使うとお手軽。
別の意味で、1度選択された項目は2度と処理したくない場合は
ListBox->Itemsを使うのはどうか?
Itemsの正体はTStringListである
TStringListは文字列とセットでポインターを1つ保持できる
これがListBox->Items->Objects[index] である
このポインターを収めるところをフラグに使う
NULLはゼロ。NULL以外はアドレスで、アドレスは数値。
だから数値を1個保存すると、NULLと区別できる
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
TListBox* ListBox = dynamic_cast<TListBox*>(Sender);
int index; AnsiString s;
if (ListBox == NULL) { return; }
index = ListBox->ItemIndex;
if (index < 0) { return; }
if (ListBox->Items->Objects[index] == NULL) {
s.printf("未処理[%d]", index);
// 処理済フラグON
ListBox->Items->Objects[index] =(TObject*) 1;
} else {
s.printf("処理炭[%d]", index);
}
Memo1->Lines->Add(s);
}
160:デフォルトの名無しさん
10/02/20 14:33:54
2007を使っています。
TRichEditのSelStartは全角の1バイト目を指定したら
SelLengthは自動的に2となって2バイト目を指定したらSelStartは自動で次文字の1バイト目にいってました
それが突然2ならなくなってしまいました。
どこかでプロジェクトのランタイムテーマが無効でこうなるって書いてた気がしたのですが・・・
確かにランタイムテーマのチェックを外してからおかしくなったとおもうのですが
再度これにチェックを入れてコンパイルしても以前の動作にもどってくれません・・
どうしたらもどっれくれますか?
161:デフォルトの名無しさん
10/02/20 15:09:10
テーマが有効だと、そうなるのですが。
無効にし、かつプロジェクトのあるディレクトリに自動生成されている .res ファイルを
削除してみてください
162:デフォルトの名無しさん
10/02/20 15:43:05
XPのビジュアルスタイルにするためのマニフェストファイルをリソースに埋込み
brc32でコンパイルしても、コンパイルは正常にできるんですが、スタイルが変わりません
どうしたらいいの?
163:デフォルトの名無しさん
10/02/20 15:45:45
>>161
できました!!!
でも・・・
res削除するとアイコンが消えて読み込みもできなくなったんですが
これアプリのアイコンはどうやってしていしたらいいでしょうか?
それともう1つ。。。
TRichEditでSelStart=0にして、SelLength=RichEdit->Lines->Text.Length();として
RichEdit->SetAttributes->Color = clRed;として
全文字を赤(色はデフォ以外ならなんでもいいみたい)にしたときに
行間がつまって表示されてしまいます。
更にこの時にSelStartとSelLength位置の色が正常に取得できなくなってしまうのですが
何が原因なのでしょうか?
これは先ほどのテーマがONでもOFFでも現象は同じでした
164:163
10/02/22 16:11:12
ちなみに、RichEditのフォントが変わってるような感じがします
フォントはMSゴシックを指定しているのですが
正常な時もおかしいい時もフォント名はMSゴシックだったのですが
おかしい時は文字間が詰まっています(MSPゴシックみたいな感じに)
これTRichEditのバグですか?
165:デフォルトの名無しさん
10/02/24 16:08:46
Variant::CreateObjectで作成したOLEオブジェクトにある
プロパティの有無を何か検出する方法は無いでしょうか?
本来NULLを返すはずのプロパティがあるのですがどうも
プロパティ名自体が無いようで例外が発生しています
例外処理でひっかけてはいるのですがデバックしている時は
毎度そこで止まるので困っています
166:デフォルトの名無しさん
10/02/24 17:16:59
デバッグが不便だというなら@Delphi7
例外が出る前の行にブレークポイントを仕掛けて、ブレークポイントの設定→拡張でブレークのチェックをクリア
+この後の例外を無視するにチェック
例外が出る後の行(ry
+この後の例外を処理するにチェック
167:165
10/02/25 08:59:24
ブレークポイントで例外を無視ってのに気が付きませんでした
これでずいぶん楽になりました、ありがとうございます
168:デフォルトの名無しさん
10/02/25 09:22:08
あ、そんな風に設定するんだ。
設定方法知らなかったので今まで一度も使わなかったorz
IDEとかプロジェクトの設定ダイアログで無視する例外を選んでおくのかと思ってた。
169:デフォルトの名無しさん
10/02/25 10:23:20
>IDEとかプロジェクトの設定ダイアログで無視する例外を選んでおくのかと思ってた。
もし適切にフィルタできるなら、ふつうはそちらを使うべきでしょう。
166 のテクニックは、特定の時だけ特定の例外を無視したいときに使います
170:168
10/02/25 10:50:10
いや、”特定の例外”ってソースいじる必用があるかもしれないし、例外クラス作ったりしなきゃならないので、
”特定の時だけ”のんが超便利。
171:デフォルトの名無しさん
10/02/25 13:30:07
なんだ。しつこいな
ブレークポイントでの操作は IDE 終了したら消えちゃうから、可能なら無視例外を登録するほうが良いでしょう。
もちろんキャッチしたい例外と区別できないと意味がないので、ソースを書き換えなければいけない場合も
あるかと思います。
そこは手間とメリットをはかることになります。
ソースを変更できない(例外クラスを変更できない)場合も多々あるのでそのばあいは
ブレークポイントによる対応と成るでしょうね
172:168
10/02/25 13:55:39
いや別に読み流してもらえばおk、だったんだけど。。。
173:デフォルトの名無しさん
10/02/25 14:29:22
TStringGridで文字列の一部を選択してるとき
TMemoのSelStartとSelLengthみたいにわかる方法を教えてください
174:デフォルトの名無しさん
10/02/25 14:52:13
ヒント: TInplaceEdit
175:デフォルトの名無しさん
10/02/25 14:59:30
StringGridからどやってTInplaceEditにアクセスすんの?
さっさと教えやがってください
176:デフォルトの名無しさん
10/02/25 15:14:22
できた。
TInplaceEdit *ie = dynamic_cast<TInplaceEdit *>(StringGrid->Components[0]);
確かにこれでOKだったんだけどー
これComponents[0]固定になってるけど大丈夫なの??
177:デフォルトの名無しさん
10/02/25 15:56:52
不安ならforで回せば?
178:デフォルトの名無しさん
10/02/25 17:08:05
>>177
それやってみたんですが、どうやらStringGridのあれは1つしかなかったので
[0]固定でもOKじゃね?みたいな結論になりますた。
将来的にはどうなるかわからないですがばかとりあえず今はこれで大丈夫なので^^
179:デフォルトの名無しさん
10/02/25 19:39:45
>>178
dynamic_cast使っているんだから戻り値がNULLだったらインデックス増やすようにすれば良いじゃん
180:デフォルトの名無しさん
10/02/26 10:16:56
>>179
それちがうだろ
forで回すってことはStringGridのアレカウントが1以上あるってことなんだから
NULLが返らずにTInplaceEdit以外のポインタが来るだろJK
だからインデックスをただ増やすんじゃなくてクラスをチェックせにゃいかん
そうなったら結局forでまわしてアレするのと同じ
181:デフォルトの名無しさん
10/02/26 19:27:23
>>180
TInplaceEditでdynamic_castしているのにTInplaceEdit *ieにTInplaceEdit以外のポインタが入ることがあるのか?
182:デフォルトの名無しさん
10/02/27 11:34:27
TEditとその他のコントロールがあるフォームでTEdit以外にフォーカスがある時にキーボードが押されたら
自動的にTEditにフォーカスを移動して文字を入力したいと思い、以下のようにしました。これで正常に動く
のですが、TWebBrowserにフォーカスがあってIMEがオンの時のみ、例えば「ka」を入力すると「kあ」になって
しまいます。他のコントロールの場合はちゃんと変換中の下線付きで「か」になるので悩んでいます。TWebBrowser
に対してフォーカスを離させるような何かの処理が必要なのでしょうか?一応WM_KILLFOCUSを送ってみましたが
変化はありませんでした。
void __fastcall Form1::ApplicationEventsMessage(tagMSG &Msg, bool &Handled)
{
if (Msg.message == WM_KEYDOWN) {
Handled = false;
if (!Edit1->Focused()) {
Edit1->SetFocus();
Msg.hwnd = Edit1->Handle;
}
}
}
183:デフォルトの名無しさん
10/03/01 09:08:30
182です
どうやらDHTMLのkeydownイベントをフックすればよさそうな気がするんですが
TWebBrowser* からどうやってそのイベントをフックすればいいのか分かりません
documentプロパティでDHTMLオブジェクトにはアクセスできそうですが
そっから先はどうやったらいいんでしょうか?
184:デフォルトの名無しさん
10/03/01 19:26:01
これからC++はじめようと思っているんですけど
VC++とどちらが人口が多いのでしょうか?
あと、初心者がとっつきやすいのはどちらでしょうか?
仕事じゃなくて趣味でやる程度です
185:デフォルトの名無しさん
10/03/02 20:51:53
>VC++とどちらが人口が多いのでしょうか?
VC++
>初心者がとっつきやすいのはどちらでしょうか?
C++Builder
186:デフォルトの名無しさん
10/03/02 20:55:28
C++BuilderはMSみたいに無料配布してないんですね。がっかり。
187:デフォルトの名無しさん
10/03/02 22:03:20
趣味で無料がいいならC#にしとけ。
188:デフォルトの名無しさん
10/03/03 00:37:27
>>183
URLリンク(msdn.microsoft.com)
189:デフォルトの名無しさん
10/03/03 03:11:45
VC++の無料はC++/CLIを無理矢理使わされるぞ
190:デフォルトの名無しさん
10/03/03 09:24:42
趣味で金出したくないなら
Qt Creator
191:デフォルトの名無しさん
10/03/03 10:35:04
test
192:デフォルトの名無しさん
10/03/05 17:27:20
TJPEGImageで1920x1080の画像をSaveToFileすると10秒くらいかかってしまうのですが・・・
これって仕方がないのでしょうか?
それと、SaveToFileをしてる間はOSごと固まってしまいます
せめて固まるのはアプリだけにしたいのですがどうしたらいいでしょうか?
193:デフォルトの名無しさん
10/03/05 18:20:23
圧縮前の bitmap イメージでも
1920x1080 * 4byte = 8Mbyte 程度か。
少し古い/遅い CPU を使っているとか?
OS/Driver の組み合わせだと、ディスク書き込み中に OS が反応なくなる場合があります。
もし搭載メモリに余裕があるのなら(といってもいまどき 1Gbyte 位は搭載しているだろうけど)
いったん 別のストリームへ SaveToStream で保存し、それから保存してみたら?
それでも OS が固まるなら、少し別の原因か
194:デフォルトの名無しさん
10/03/06 04:09:07
BCB6を使用しています。
SSDに載せ替えたので、インストールしなおしたところ、コンパイル時に必ず以下のメッセージが出て止まるようになってしまいました。
Windows - ディスクがありません
Exception Processing Message c0000013 Parameters 764cbf7c 4 764cbf7c 764cbf7c
ググっても常駐ソフトを見直せとかの情報しか無く、困っています。
使用許諾コードは取得してあります。
よろしくお願いします。
195:デフォルトの名無しさん
10/03/06 10:51:09
BCB2010でタイプライブラリの使い方を勉強しています
.ridlファイルで基本的な情報を設定すると
xxx_TLB.cpp と xxx_TLB.hができてひな形が作られるらしい
ということはわかったのですが
そっから先にどうすれば実際のインスタンスが作れるのかが
わかりません
どなたか基本的な使い方の手順を教えてもらえないでしょうか?
196:デフォルトの名無しさん
10/03/06 12:07:35
>194
c0000013で検索した結果はちゃんと見て追試してそれでも何も問題となるようなものはない、
という状況なの?
>195
コンポーネントとしてインストールしてそれをフォームに貼ればいいんじゃない?
197:デフォルトの名無しさん
10/03/06 16:55:48
>>193
なんとなく原因がわかりました
BitBlt等にBitmap->Canvas->Handleを渡してビットマップを作るとSaveToFile時に10秒くらいかかるようになってた
これSaveToFileで以前に保存したファイルをLoadFromFileしてからSaveToFileをすると
200msでくらいで終わってたんですが
なんでAPIでアレするとこんなに遅くなりますかね?
しかもOSごとって・・・
198:194
10/03/06 19:19:50
>>196
物凄く不安定で、どうしたらいいのやら・・・。
セーフモードで立ち上げた後は動いたりするのですが、しばらくするとまた同じエラーが出たりします。
199:デフォルトの名無しさん
10/03/06 19:34:02
そもそも環境的な説明はなしか
200:194
10/03/06 20:48:25
環境はXPsp3。
常駐はAntiVirとSpybotとp2proxyくらいです。
201:デフォルトの名無しさん
10/03/06 22:15:51
たぶん>>197に対するものだと思うけどな
202:デフォルトの名無しさん
10/03/07 10:29:34
>>194
IncludeかLibのパスに存在しない場所が指定されてるんじゃない?
以前作ったプロジェクトファイルには存在した場所がSSD環境では消えているとか
203:デフォルトの名無しさん
10/03/07 10:32:37
そのパスがリムーバブルメディアだったら出るみたいだね
再現できた
元FDやCDのドライブ名であたってみてくれ
204:194
10/03/07 17:27:07
>>202-203
空のプロジェクトでは発生しなかったので、それっぽいです。
ありがとうございました。
205:デフォルトの名無しさん
10/03/08 13:33:54
BCBとVC++のそれぞれの最新版で比べた場合
同じようなアプリを作った場合
実行速度は変わらないでしょうか?
206:デフォルトの名無しさん
10/03/08 15:56:01
ずっとBCB使ってきてたんだけど
Visual Studio 2010のベータを試してみたら
ポトペタとか簡単にできてBCBとあまり変わらない
BCBの優位ってもうないんでしょうか?
207:999
10/03/08 16:46:57
それはC丼だろ。
Visual Studio のC++って相変わらずの原始的レベルだろ。
C丼でいいのならVisual Studio使えばイイじゃん。
208:デフォルトの名無しさん
10/03/08 17:04:50
>>207
.NETならば、C++でも、出来の悪いBCBっていう感じだよ
209:999
10/03/08 18:57:13
VC++のDialogEditorのことを言っているのかね?
DialogEditorならC++Builderとは根本的に異なる訳だが。
ちがうのかな?
210:デフォルトの名無しさん
10/03/08 21:15:53
C++/CLIなんて使い物にならんしな
211:デフォルトの名無しさん
10/03/08 22:22:48
>>210
どこがダメなの?
重いの?
212:デフォルトの名無しさん
10/03/09 08:52:43
C++/CLIって、元はmanaged C++であってポインタとか局所的にしか許さんでしょ。
だから、C++の標準STLでさえ、STL.CLIっていう特殊なライブラリが必要なんじゃね?
ましてやboostが動作するわけないし、C/C++系のライブラリ混ぜよう、とすると頓挫でしょ。
スタンスはC丼じゃんw
213:デフォルトの名無しさん
10/03/09 09:12:37
>>212
Managed型を使わなければSTLも普通に使えるし、
ネイティブにコンパイルしたobjや静的ライブラリもリンクできるぞっと。
ただWinFormまわりは完全に.NETの世界なので、
GUIを手軽に扱うことを目的にC++/CLIを使いたいなら
GUI記述専用の言語が別にあると思ったほうが早い。
214:デフォルトの名無しさん
10/03/09 10:23:03
結論:
VC++は使えねーヤシwwwww
215:デフォルトの名無しさん
10/03/09 11:20:52
ということはネイティブC++でポトペタしたければ
やっぱりBCBが一番って信じていいんですね
216:デフォルトの名無しさん
10/03/09 14:58:16
Windows7にC++Builder5をインスコしたら起動してくれないんだけど。。。
エラー内容は
'Debugger'の設定に失敗しました。
このエラーダイアログが出てOKボタンを押しても起動が途中で止まっていて
強制終了するしかないのですが、
これどうしたらちゃんと設定できますか?
217:デフォルトの名無しさん
10/03/09 19:10:24
互換モードを設定したら?
218:デフォルトの名無しさん
10/03/09 21:50:50
7は64?
219:デフォルトの名無しさん
10/03/10 13:39:26
BCB(2010)で文字列リテラルのコードページをUTF8にする方法はないでしょうか?
例えば char* p = "あ"; とするとpにはシフトJISのコードが入り
wchar_t* wp = L"あ";とするとwpにはUCS2のユニコードが入ります
後者の方は当然だと思いますが、前者の方はソースコードをUTF8で保存しても
強制的にシフトJISにされてしまいます。他のコンパイラで使っていたUTF8の
コードをコンパイルしたら出力が文字化してしまって困っています。
220:219
10/03/10 14:40:51
プロジェクトオプションの
C++コンパイラ→拡張でコードページが指定できるのですね
しかしこれだと全部のソースコードの一括指定みたいです
ソースコードごとに指定するのは無理なんでしょうか?
221: [―{}@{}@{}-] デフォルトの名無しさん
10/03/10 15:32:47
ファイルごとにローカルオプションが指定できるよ。
またはソースごとに
#pragma option -CP65001
を指定かな。
222: [―{}@{}@{}-] デフォルトの名無しさん
10/03/10 15:34:22
ソースコードのエンコーディングと
char 型のエンコーディングは独立することが C/C++ 言語規格で規定されているので、
まぁしょうがないね。
223:219
10/03/10 17:10:40
>>221
ありがとうございました
#pragma option -CP65001
でうまくいきました
224:デフォルトの名無しさん
10/03/10 18:30:45
>>216
Windows7 professional 32bitにBCB6だけど、Windows2000互換モードで動いてる
参考までに。
225:デフォルトの名無しさん
10/03/10 18:55:40
2010のTo-Doリスト初めて使ったんだけど、
項目を追加しても、リストに反映されなくて、「完了した項目を表示」のチェックをON/OFFすると
表示が更新される
To-Doリストちゃんと使えてる?
226:デフォルトの名無しさん
10/03/14 15:55:51
TDBGridでスクロールするとデフォルトではカレントレコードも同時にスクロールしますが
これをカレントレコードはそのままにしておく方法はあるでしょうか?
227:デフォルトの名無しさん
10/03/15 09:44:28
ppp
228:デフォルトの名無しさん
10/03/15 17:22:05
当時BCB6への移行を見送ってしまい2005移行への移行に躊躇したために
未だにBCB5を使っていたのですがunicodeへの対応が必須になり移行を考えています
質問なのですが現時点で購入するとすればC++Builder2010がベストなのでしょうか?
またProfessional版の場合にはVCLのソースが付属するのでしょうか?
229:デフォルトの名無しさん
10/03/15 21:12:22
>228
C++Builderなら2010だな。当然VCLのソースもついてる。ただしdbExpress/DataSnapは
Pro版ではネットワーク上にデータを流してはいけないというEULA上の制約があるので気をつけて。
230:デフォルトの名無しさん
10/03/16 09:29:21
VCL/ANSIとVCL/UNICODEを吸収してくれる良いクラスは無いでつか?
BCB6でも2010でも両方ともコンパイルできるようにしておきたい。
231:228
10/03/16 11:58:38
>>229
情報ありがとう御座います、購入の方を進めてみます
長らく移行出来なかった理由の一つにLightReport2で複雑な帳票を作っていることもあるのですが
LightReport2をC++Builder2009又は2010で使用されている方はおられるでしょうか?
他言語文字がうまく印刷出来るのかどうかを知りたいです
232:デフォルトの名無しさん
10/03/16 22:19:53
>230
それがライブラリなら頑張って#ifdefで共通ソース化する。そうではなくアプリケーションなら
ソースの共通化はすっぱりあきらめる。人間諦めが肝心。
233:デフォルトの名無しさん
10/03/20 11:02:58
>>230
MECSUtils
URLリンク(homepage1.nifty.com)
> Delphi 2007 / 2009 / 2010 で同名の関数を使って同等の処理可能にするのが MECSUtils です。
234:デフォルトの名無しさん
10/03/20 11:28:12
コンポーネントや RTL の文字列エンコーディングを変える訳では無いので
ソースコードの共通化にはあまり向かない。
けれど、かなり特殊なことをしない限りは、シングルソースで対応できるのでまずは移植してみたら?
と書いていて、ここは CBuilder であることに気づいたよ。
tchar の問題とかあるからなぁ。
まず、手持ちのコードを _TCHAR 使うように書き換えて ANSI のままでデバッグ。
wchar_t や tcsXXXX 関数は CBuilder だと大昔からある。
C++ で書いたコンポーネントなの?
235:デフォルトの名無しさん
10/03/24 10:57:05
PopupMenuのMenuItemのClickイベントでMenuItemからPopupMenuを識別する方法を教えてください
236:デフォルトの名無しさん
10/03/24 11:00:49
GetParentMenuで取れた
おまえらほんと役にたたねーゴミだなw
237:デフォルトの名無しさん
10/03/29 15:29:14
TLabelのCaptionは\nで改行できますが
TPanelのCaptionはどうやったら改行できますか?
238:デフォルトの名無しさん
10/03/29 20:50:52
複数行は自前で描画する必要がある。DrawTextなので本来#13#10で改行して
描画されているのだが、高さ方向が常に1行分しか確保されていないので。
239:デフォルトの名無しさん
10/04/01 16:21:39
教えてください。
AnsiString FileName = ExtractFilePath( Application->ExeName ) + "hoge.mdb";
Variant cat = Variant::CreateObject("ADOX.Catalog");
cat.Exec(Function("Create")<<"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";");
上記のコードはC++Builder5なら問題なく動作して正常にmdbファイルが作成されるのですが
C++Builder2007で行うとcat.Execで例外が発生してしまいます。。。
両方同じPCでコンパイルしてるのでOSの問題ではないとおもいます。
2007ではどうしたら正常に動作させることができますか?
240:デフォルトの名無しさん
10/04/02 11:59:12
TStringGridで入力可にしてる時にセルを選択したらそのセルの文字列が
全部選択状態になっているのですが、これを選択状態にしない方法を教えてください
241:デフォルトの名無しさん
10/04/02 16:55:56
タイムゾーンの取得する方法を教えてください
242:デフォルトの名無しさん
10/04/03 13:36:09
なんつーか、回答する気も起こらないつまらん質問ってあるよね。
243:デフォルトの名無しさん
10/04/03 13:48:36
回答する気にならないのなら、黙っていなさい。無理にコメントを書くことは無い。
244:デフォルトの名無しさん
10/04/03 14:02:03
>>243
かっこいい
245:243
10/04/03 16:25:18
俺は神様だ
俺の言う事には必ず従え
246:デフォルトの名無しさん
10/04/08 18:16:46
TDateTimePickerで▼を押されたときに出てくるカレンダーのマウスカーソルを変える方法を教えてください。
DateTimePicker->Cursor =crCross;
だとコンボボックスしか変更されなかったので・・
247:デフォルトの名無しさん
10/04/14 20:36:41
p
248:デフォルトの名無しさん
10/04/14 20:38:17
C++Builder2007でTRichEditで特殊記号("§"等 )を追加すると
行挿入エラーが出るバグがあるのですが
これを回避する方法を教えてください
249:デフォルトの名無しさん
10/04/19 09:45:37
p
250:デフォルトの名無しさん
10/04/19 10:37:43
TUdpSocketで送信はできるのですが受信ができません。
どうしたら受信できますか??
251:デフォルトの名無しさん
10/04/19 12:18:12
URLリンク(homepage1.nifty.com)
252:250
10/04/19 15:45:25
いやそれは見たんですけど、イベントは必要ありません。
ただ受信さえできばいいんですが、
BytesReceivedやselectしても全然きてないんです
253:デフォルトの名無しさん
10/04/19 18:26:52
ひとつは、送信と受信でポートが一致しているか確認する
もうひとつは、ファイアウォールなどでブロックされてないか調べる
254:250
10/04/19 18:27:34
他よろしく
255:デフォルトの名無しさん
10/04/19 19:10:49
NICのジャンボフレームの設定が双方で食い違ってないか確認する
256:デフォルトの名無しさん
10/04/19 19:13:07
ていうか、「送信が出来た」のはどうやって確認したんだ?
257:250
10/04/19 19:38:51
相手PCにターミナルソフトで受けたんだ
んで、逆にそのターミナルソフトから送信してやっても受信できない
ちなみにC++Builder2007
ごちゃごちゃほざいてないで、お前等もTUdpSocketで受信を試してみろ
258:デフォルトの名無しさん
10/04/19 20:03:47
おもしろい奴だな
259:デフォルトの名無しさん
10/04/19 20:35:04
Wiresharkで確認すれ。
260:デフォルトの名無しさん
10/04/19 20:44:07
C++Builder5のNMUDPでなら受信できたよ
261:250
10/04/20 11:36:58
>>260
まじですか
とりあえず2007はバグって受信すらできないので
俺もBuilder5のNMUDPでやってみたんですが、やっぱ送信できても受信ができなかった。
チラっとコード教えて。
ちなみにWindowsのFWはOFFってるしPFWも入れてない。
262:260
10/04/20 11:58:58
こんな感じで
void __fastcall TADataModule::NMUDP1DataReceived(TComponent *Sender, int NumberBytes, AnsiString FromIP, int Port)
{
scoped_array<char> buf(new char[NumberBytes+1]);
int s = 0;
TNMUDP& aNMUDP = dynamic_cast<TNMUDP&>(*Sender);
aNMUDP.ReadBuffer(buf.get(), NumberBytes+1, s);
buf[s] = 0;
// ...
}
263:250
10/04/20 12:52:21
>>262
あ、どうもありがとう。
むしろ、それ以前にDataReceivedイベントが入らないので
その前のポート設定とかを教えてくださ。
これってbindしなくても勝手に受信できる状態になってるんですかね?
264:260
10/04/20 13:11:15
TADataModuleのコンストラクタで LocalPort にポート番号設定
ReportLevel は 1 にしてる
それだけだよ
265:250
10/04/20 13:27:32
>>264
あ、ありがとうありがとう。でけますた。
RemotePortとLocalPortの設定が逆でした馬鹿でした俺はゴミです。
2007のTUdpSocketもそれがアレで受信できなかったのかなあ
とりあえず試してみまふ
266:250
10/04/20 13:37:01
う~ん、やっぱ2007はダメかあ。
2007でもLocalPortとRemotePortを逆にしてやってみたりはしてたんだが
こっちの場合はRemotePortに目的のポート番号を指定しないと出力もできなくなる
だから5のNMUDPでもRemotePortに指定してたんですが・・・
ちなみに、俺は昨日から何をほざいてるかと言うと、
最初はWinsocket APIでUDPで通信していて、相手から受信してから
返答を返す時に、相手が受け取ってくれない(SNMPのアレ)
勿論こっちはちゃんと返答を返しているのはターミナルソフトやWiresharkで確認済み。
んで、WiresharkでよくよくみるとSrcポートとDstポートがどうも逆っぽいみたいな
Winsocket APIでこれを逆にできれば一番いいのだが、調べたがやり方がわからない
そこでVBのうんこコンポで試してみたらLocalPortとRemotePortがあったので
それでアレしてみたら見事にちゃんとなってくれたので
それならBuilderのコンポでやってみるかってことで、
267:250
10/04/20 13:55:15
あ、ちなみなんだこれNMUDP
これ送信するときはLocalPort=0、RemotePort=目的ポート番号で
受信するときはLocalPort=目的ポート番号、RemotePort=0
じゃないとダメなのかこれ
つーことはこれって送信と受信したいなら2つNMUDPを使えってことか!!
なんじゃこの糞仕様はw
268:250
10/04/20 14:05:36
あ、違った。
送受信するならLocalPorとRemotePortにポート番号をぶち込めってことだったぽ。。
いろいろすまんこったい
269:250
10/04/20 14:09:05
あ、ダメだ。
LocalとRemoteポートを同じにしたら結局APIでやてtるのと同じだこれ。
うんこしてくる
270:デフォルトの名無しさん
10/04/20 14:10:11
>>267
ひとつで送受信は一応できると思う。
LocalPort : 待ち受けポート番号
RemotePort: 送信先ポート番号
っていうことで、送信元ポート番号や受信元ポート番号を
指定できない糞仕様だったと思う。
271:250
10/04/20 15:13:44
>>270
VBのアレが同じLocalPort、RemotePortって名前で
向こうはしっかりとSrcポートとDstポートがアレできてたから
こっちもてっきり出来ると思っていたんですが、どうやらうんこだったようで・・・
272:260
10/04/20 15:25:32
ついでにNMUDPはbroadcastもできないよ
なのでググりながらwinsock使ったことあるけど
難しくはないと思うよ
273:250
10/04/20 15:30:37
>>272
ええええ!!
winsockでは普通に送受信はしてたんですがー
それでSrcポートとDstポートって制御できましたか??
その辺を是非教えて頂きたいです
274:デフォルトの名無しさん
10/04/21 16:37:04
マイナー製品使うと、クソ品質、クソ仕様だらけで、結局そういうクソな部分の
解決なり時間費やすはめになる。
275:デフォルトの名無しさん
10/04/21 17:41:18
>>274
マイナーかどうかは余り関係がないと思う。
それを補って余りあると考えている人間が使っているのだから
以下略
276:デフォルトの名無しさん
10/04/26 10:53:03
Builder2007で
ListView1->SortType = stData;
ってすると、stDataが曖昧だってコンパイルエラーがでます。
これどうやってキャストしたら馬鹿な2007は納得してくれますか?
277:デフォルトの名無しさん
10/04/26 10:59:51
namespace::
278:デフォルトの名無しさん
10/04/26 11:01:57
>>277
今度は馬鹿な僕が理解できませんでした。
それでキャストしたらエラーでましたが、どやって記述しますか?
279:デフォルトの名無しさん
10/04/26 11:09:09
いやマジでC++の入門書くらい読んだ方が良いって。
今回の件に関してだけなら
stDataが定義されているComctrls::stDataとかで足りるかもしれないけどな。
280:デフォルトの名無しさん
10/04/26 11:13:18
C++の入門書にComctrls::って載ってる?
まあお前が答えるより先に解決したから礼なんて言わないし役立たずとかしおもってないし
281:デフォルトの名無しさん
10/04/26 11:21:02
おまえのヘルプには載ってないのか。
ホント、バカは何をやってもバカなんだな。
282:デフォルトの名無しさん
10/04/26 11:35:33
ん?
283:2068
10/04/26 14:27:01
このスレのタイトルは
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
くだすれC++Builder(超初心者用)その4
284:2068
10/04/26 14:28:05
>このスレッドは、他のスレッドでは書き込めない超低レベル、
>もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
>C++Builder使いが優しくコメントを返しますが、
>お礼はC++Builderの布教と初心者の救済をお願いします。
285:デフォルトの名無しさん
10/04/28 11:08:33
質問ですが。。。
Builder2007では↓のような関数を呼ぶときに
void hoge( const char *buff )
{
}
↓のコードでよかったのですが
hoge( Edit1->Text.c_str( ) );
Builder2010で同じコードだと
E2034 'wchar_t *' 型は 'const char *' 型に変換できない
ってエラーがでます・・・
これどうやってキャストしたらいいですか?
286:デフォルトの名無しさん
10/04/28 11:13:46
AnsiStringでキャストしたらできました・・・
けどこれって全部AnsiStringでキャストしないとダメですかね。。。
はぁ・・・何この糞仕様・・・
287:デフォルトの名無しさん
10/04/28 11:27:20
っていうか・・・・
2007で作ったのを2010でコンパイルすると
2010で作ったexeは2007のよりサイズが倍になってるんだが・・・
これ以前にBuilder5で同じバグがあってアップデートで多少小さくなったんですが
これ2010もひょっとして同じバグ?
それとも単純に無駄な機能が増えまくってexeが肥大化しただけですか?
うーむどっちみち気持ちいいものではないなあ。
288:デフォルトの名無しさん
10/04/28 11:35:12
2010はUnicode対応になってるので、その分ライブラリが肥大してると
思われる
吐いたコードを逆アセンブルで見てみな
289:デフォルトの名無しさん
10/04/28 11:58:02
うるせえこのぶたやろう
290:デフォルトの名無しさん
10/04/28 12:03:07
>>289
なんだとこのぶた
291:デフォルトの名無しさん
10/04/28 12:50:48
やめんか豚ども
292:デフォルトの名無しさん
10/04/28 13:56:42
とんかつウマー
293:デフォルトの名無しさん
10/04/28 16:08:51
どたどうしなかよくしようぜぶた
294:デフォルトの名無しさん
10/04/28 18:11:44
なんで、超初心者用スレが荒れているんだ。
超初心者用でない質問スレがなくて、ここが超初心者用だと認識していなかった阿呆のせいか?
295:デフォルトの名無しさん
10/04/29 00:19:57
>285
2010ではString=UnicodeString(UTF-16)となった。hogeがconst char *をパラメータで
受け取る仕様とは食い違いがある。Stringを一旦ANSI(Shift_JIS)に変換してから受け取るか、
const wchar_t *を受け取るように変えるか、どっちかが必要。
>287
2010の新機能である属性(Attribute)の影響かと。
296:デフォルトの名無しさん
10/04/30 14:10:19
すんません
wchar_t filename[256];
::lstrcpy( filename, ExtractFilePath( Application->ExeName ).c_str( ) );
普通にコピーしたいんですがエラー出ます
これwchar用の関数かなにかあるんですか?
297:デフォルトの名無しさん
10/04/30 15:44:38
lstrcpy は Windows Kernel API だから lstrcpyW があるな。
lstrcpy が lstrcpyA にマッピングされている。ということは
UNICODE モードでコンパイルされていないようだから、
よい機会なのでアプリケーション全体を UNICODE モードでコンパイルしてみたら?
ANSI 規格準拠で書きたければ wcscpy で。
C/C++ 言語は10年以上まえから UNICODE サポートを行っているので、必要なものは
そろっていると思ってよいですよ
298:デフォルトの名無しさん
10/04/30 15:47:57
>>297
ありがとうございます。
この機会にアレするとして今後の事を考えると
どういう書き方がいいですかね?
299:デフォルトの名無しさん
10/04/30 16:09:34
プロジェクトの設定ダイアログに
「TCHAR を wchar_t にする」みたいなオプションがあるから
それを有効に。
これで Windows API と関連する部分が UNICODE に切り替わるので
コンパイルエラーが出てきたところを _T 系マクロでラップ。
T マクロを使う分には、ANSI/WIDE 両方で動くコードを作れる「はず」なので
「WIDE モードでエラーをつぶす」
「ANSI に戻して動作チェック」
「WIDE にして動作チェック」
を繰り返す。
最終的に ANSI/WIDE 両方で動く(C/C++)コードができて
WIDE モードでコンパイルすれば UNICODE-VCL との親和性も高くなる。
というところ。
300:デフォルトの名無しさん
10/04/30 16:24:31
>>299
あ、プロジェクトオプションのそれをアレしたら普通にlstrcpyでもコンパイル通った。
基本的にTCHARの設定はアレしないほうがいいんですかね?
これから新たに作るとかのときは
301:デフォルトの名無しさん
10/04/30 16:46:13
なぜコンパイルが通ったかを理解していないと、ちょっと危ないかも。
lstrcpy (を含む Windows API で、文字を扱うもの)は、
lstrcpyA と lstrcpyW が実体として定義、提供されていて、
Windows.H とその配下がマクロ(単純な #define)で plain な lstrcpy にマップしているのです。
296 で提示されているコードでは wchar_t (と c_str())を直に使っているので、
WIDE 版の API である lstrcpyW を明示的に呼ぶほうが素直かも知れません。
ここら辺は各自の判断でよいかと。
302:デフォルトの名無しさん
10/04/30 16:52:31
>>301
色々とありがとうございます。
ちょっとwchar_t等の知識が乏しいのでまずはその辺を勉強してみます。
ご教授ありがとう。
303:デフォルトの名無しさん
10/04/30 16:59:40
「TCHARの設定」は、影響範囲とかがわからない場合には、むやみに変更しないほうがよいでしょう。
以下のコードなら、ANSI でも WIDE でも動きますよ。
TCHAR filename[256];
_tcscpy( filename, ExtractFilePath( Application->ExeName ).t_str( ) );
304:デフォルトの名無しさん
10/04/30 17:00:15
おっと、<tchar.h> を追加するのを忘れずに
305:デフォルトの名無しさん
10/04/30 17:28:33
>>303-304
確かにそれでコンパイル通りましたが・・・
filenameの中身をみてみると??になってました・・・
ちなみにTCHARって1バイトなんですねこれ。
306:デフォルトの名無しさん
10/04/30 17:36:38
CBuilder5では以下のコードはOKでちゃんとmdbファイルが作成されるのですが
CBuilder2010でやるとコンパイルエラーはでないのですが、実行するとアクセス違反エラーが出ます。
Variant cat = Variant::CreateObject("ADOX.Catalog");
cat.Exec(Function("Create") << "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\test.mdb");
これ、どうしたら正常にmdbファイルを作成することができますか?
307:デフォルトの名無しさん
10/05/01 05:57:24
>実行するとアクセス違反エラーが出ます。
どこで?
308:219
10/05/01 09:06:17
HTMLの特殊記号をUnicodeに変換(&を&に変換する)してくれるような
機能はVCLにありますか?
309:デフォルトの名無しさん
10/05/01 10:23:40
>>305
TCHARはマクロ
#ifdef UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif
310:デフォルトの名無しさん
10/05/01 10:28:01
>>305
URLリンク(docwiki.embarcadero.com)
311:デフォルトの名無しさん
10/05/04 11:50:15
初心者ですお勧め参考書教えてください
312:デフォルトの名無しさん
10/05/05 17:01:47
TRegistryのWriteDateTimeとWriteTimeって同じ動作をするような気がするんですが...
WriteTimeにしたからといって引数の日付値が消えるわけではないんでしょうか?
313:デフォルトの名無しさん
10/05/06 10:42:27
>>311
プログラミング初心者かC++初心者かC++Builder初心者かで違う。
前ふたつはできて、C++Builder初心者ならDelphiの参考書とマニュアルのC++拡張見れば十分。
314:デフォルトの名無しさん
10/05/06 21:50:24
C++Builder使ってる参考書ってあんの?
315:デフォルトの名無しさん
10/05/06 22:22:25
>312
WriteDateTimeとWriteDate/WriteTimeは同一の動作。つまり
> WriteTimeにしたからといって引数の日付値が消えるわけではない
で正解。
316:デフォルトの名無しさん
10/05/06 23:12:34
>>314
Amazonで検索してみれば?
317:デフォルトの名無しさん
10/05/07 20:33:39
p
318:デフォルトの名無しさん
10/05/07 20:34:21
>>307
やっとあくきんがとけた
cat.Execの行でエラーでます。
これ何とかなる方法はありますか?
319:デフォルトの名無しさん
10/05/08 02:40:30
アクセス違反エラーを出しているモジュールを知りたかったので、
表示されているアドレス等、一式が欲しかったんだな。
多くのダイアログは、Ctrl-C でテキスト部分がコピーできるので、
気楽に保存できるよ
320:デフォルトの名無しさん
10/05/10 12:22:32
>>319
エラーはEAccessViolationって書いてあるダイアログが出るだけです・・・
321:デフォルトの名無しさん
10/05/11 11:07:17
C++Builder2007か2010でODBCを経由せずに直接DBアクセスする方法教えてください。
あ、DBはアクセスのmdbでいいです。
322:デフォルトの名無しさん
10/05/11 11:13:48
ADOならいいのか
323:デフォルトの名無しさん
10/05/11 11:24:26
dbgo とか ADOTable とか使ってみたら > 321
324:デフォルトの名無しさん
10/05/12 09:49:17
ppp
325:デフォルトの名無しさん
10/05/12 10:59:49
mdbファイル操作について質問ですが
Variant::CreateObject("ADOX.Catalog");を利用して
フィールドの型とサイズを取得する方法を教えてください
326:デフォルトの名無しさん
10/05/12 12:37:07
TMaskEdit の EditMask プロパティを実行時に変更すると
スタックオーバーフローとか例外を吐かれたので解決方法調べてたんだが
AutoSelect = false にすると収まったんで、とりあえずここにチラ裏していく。
ブレークポイント&ステップ実行使うと再現しなくなる例外でしたよ
327:デフォルトの名無しさん
10/05/12 13:28:04
for col in rs.Fields:
col.name, col.type, col.size
328:デフォルトの名無しさん
10/05/12 16:28:43
そんなバグだらけな製品よく使う気になるよな。
329:デフォルトの名無しさん
10/05/12 21:32:42
VCやGCCよりは遥かに少ないけどな
330:デフォルトの名無しさん
10/05/12 22:06:45
2011が出る前に2010買っておいた方がいいのかな
331:デフォルトの名無しさん
10/05/13 15:33:35
>>325を教えて
332:デフォルトの名無しさん
10/05/13 16:15:57
64bit対応版が安定するまでは6Pro使い続ける
333:デフォルトの名無しさん
10/05/14 12:17:12
bcb2007使用しています。
Memo1にAnsiStringに貯めこんだ改行含みの文字列を表示させて計算結果を表示しています。
数が多くなると処理が遅くなっています。高速化の定石があれば教えてください。
Ansi
334:デフォルトの名無しさん
10/05/14 12:20:47
enter押したら投稿してしまいました。
bcb2007使用しています。
Memo1にAnsiStringに貯めこんだ改行含みの文字列を表示させて計算結果を表示しています。
数が多くなると処理が遅くなっています。高速化の定石があれば教えてください。
AnsiString s="";
for(){
…
s+=文字
}
…
for(){
…
s+=文字
}
…
for(){
s+=文字
…
}
Memo1->Text=str;
このような形です。
Memoにはこだわっていません。sのサイズがわからないので、
とりあえず、AnsiStringを使っています。
よい文字格納変数型とよい表示コンポーネントはあるでしょうか?
335:デフォルトの名無しさん
10/05/14 16:26:25
IdUDPServerでいいからsrcポートとdstポートを逆にして送信する方法教えてよ
336:デフォルトの名無しさん
10/05/14 18:11:42
>>334
std::string str;
str.reserve(64*1024);
...
Memo1->Text = str.c_str();
でどうかね。
337:デフォルトの名無しさん
10/05/14 18:18:44
ああそうか
C++BuilderにはStringBuilderがないからか
338:デフォルトの名無しさん
10/05/14 18:28:43
>数が多くなると処理が遅くなっています。
どれくらいの量の文字列を扱っていますか?
文字列処理が遅いのか、描画が遅いのか。をまず分けたほうがよいですね。
Memo1->Text=str;
をコメントアウトして
あと、速度の話をするときは、ちゃんと時間を計りましょう。
LARGE_INTEGER _start, _end;
QueryPerformanceCounter(&_start);
QueryPerformanceCounter(&_end);
__int64 lap = _end.QuadPart - _start.QuadPart;
こんなんで、CPU のクロック単位の経過時間が計れます。
339:デフォルトの名無しさん
10/05/14 21:32:23
334です。
レスありがとうございます。
std::string str; を検討してみたいと思います。(BCBではつかえない?)
時間に関しては、文字蓄積時はあちこちなので、
時間がはかりづらいですが、
コンポーネントへの表示処理とそれまでの計算時間を
指標にして表示処理を時間的に評価してみたいと思います。
計算結果をテキストに表示する手法の常套手段が
知りたいのもありました。
なお計算は動的計画法なるもので、計算量はピンからキリまでありますので、
組み合わせが多い状態の高速化を図る予定です。
340:デフォルトの名無しさん
10/05/15 03:19:55
一般論として。
「速度をあげたい」と思ったら、まずそれを測定することを考えましょう。
測定するために対象を調査していく過程で、問題点そのものが分かってしまう場合があります。
定期的に速度を計測、比較することで、少なくとも、改造の結果かえって遅くなった。ということは
避けられるでしょう。
テストするときは単一データではなく、複数のデータを使うこと。テストデータの量を変えること。
10, 20, 50, 100, 200, 500.... といった (1, 2, 5) パターンがおすすめ。
時間がかかるので端折るときでも、桁が異なる複数のデータ量での計測を忘れずに。
ある程度、対象データ構造、アルゴリズムの癖が分かったら、本質的にどこまで速くなるのか。
を考えてみること。データが(毎回)ディスクから読み取られるなら、ディスクアクセス速度より
速くはできない。(キャッシュとか考えないと)
CPU のキャッシュを超える量のデータを扱うなら、メインメモリのアクセススピードを超えることはできない。
まぁ、ここら辺は厳密に計算する必要はなく、桁合わせ程度の概算で十分ですが、
原理上不可能な速度を追求して時間を浪費するのは避けたいですし、
逆に「もう一桁速くできるはずだ」となるかもしれません。
341:デフォルトの名無しさん
10/05/15 12:27:07
>>334
TStringStreamを使ってみてはどうだろうか?
342:デフォルトの名無しさん
10/05/17 22:05:25
TStringStream
ありがとうございます。
検討中なので結果報告できないですが、ご容赦ください
343:デフォルトの名無しさん
10/05/26 11:40:30
早く>>325を教えろつってんだ!!
344:デフォルトの名無しさん
10/05/26 21:21:46
調査中ですので、あと10年ほどお待ちください。
345:デフォルトの名無しさん
10/05/27 11:04:13
うるせー!
346:デフォルトの名無しさん
10/06/02 14:01:19
HDCをTBitmapにする方法教えて
347:デフォルトの名無しさん
10/06/02 17:25:05
SQLConnectionでmdbファイルをアクセスする方法とかを教えてくださいよ
348:デフォルトの名無しさん
10/06/02 22:59:11
>346
TImagePicture.Bitmap.HandleもHDCなので、ここに向かってBitBltすればいいんじゃない?
349:デフォルトの名無しさん
10/06/03 09:41:54
>>348
できました
350:デフォルトの名無しさん
10/06/04 15:55:05
2007でデスクトップのサイズ(横幅)を超えるフォームを作っても
実行するとデスクトップの横幅と同じサイズになってしまうのですが
これちゃんと指定したサイズになる方法を教えてください
351:デフォルトの名無しさん
10/06/04 18:06:02
さっさと教えやがれ
352:350
10/06/04 19:11:01
はよ、教えろや
役にたたん奴らばぁじゃのぉ
ウンコでも食うとれや
353:デフォルトの名無しさん
10/06/04 22:27:33
ウィンドウはデスクトップサイズを越えることができなかったはず。Windowsの制限。
クレームはゲイツかカトラーにどうぞ。
354:350
10/06/05 05:35:49
>>352
で?
355:デフォルトの名無しさん
10/06/07 10:03:47
VMなんかでホスト側の解像度を超えられないのは馬鹿じゃねとかおもう
356:デフォルトの名無しさん
10/06/11 19:36:52
C++Builderでバージョン情報の自動更新などもない状態で全く同じファイルを
コンパイルするとその都度違うファイルが出来ますがこれは何故なんでしょうか?
357:デフォルトの名無しさん
10/06/12 00:01:15
インクリメンタルリンクしてるからじゃね?
フルビルドすると同じになるはず
358:デフォルトの名無しさん
10/06/12 00:26:02
ビルドの日付が埋め込まれるから異なるとかそんな話か?
359:356
10/06/12 00:56:43
ありがとうございます
インクリメンタルリンクは切ってあります
ステートファイルの作成をしないにチェックが入っていて/Gnオプションがオプションソースに書かれています
でも毎回違うファイルになってしまいます
>>358
そういうことなのでしょうか?
どこかにオプションはありますか?
360:デフォルトの名無しさん
10/06/12 12:26:33
>>359
プロジェクト→オプション→バージョン情報とかじゃね?
ビルドの日付を埋め込むオプションは見つからんなあ
361:デフォルトの名無しさん
10/06/12 13:54:38
>>360
そうですか
バージョン情報のチェックは入ってない状態です
何で微妙に違うファイルが毎回出力されるんだろう
というかこれってうちだけの現象なんでしょうか
362:デフォルトの名無しさん
10/06/12 14:00:13
diffってみたら?
363:デフォルトの名無しさん
10/06/12 16:18:13
WindowsはPEヘッダにタイムスタンプ入るから同じEXEはできない
オプションはない
それでも2バイト前後だから10バイト以上異なるならデバッグ情報ジャマイカ?
364:デフォルトの名無しさん
10/06/12 20:30:52
成る程そういうことでしたか
大体10バイト程度ですが近くにPE\0の文字も確認できるのでそれで間違いなさそうです
勉強になりました
どうもありがとうございます
365:デフォルトの名無しさん
10/06/13 16:08:55
ようやく64bitに対応したね
366:デフォルトの名無しさん
10/06/13 16:12:43
あとはデバッガが動けばねぇ
367:デフォルトの名無しさん
10/06/13 17:11:23
すみませんが、BCB6でfastmmのフルデバッグモードを使うには
どのような設定が必要かご教示お願いします。
FastMM4.pasやFastMM4BCB.cppをプロジェクトに組み込んだのですが、
終了時にメモリリークのダイアログしかでてこないので、どこでリークしているのか
良く分かりません。
368:デフォルトの名無しさん
10/06/13 21:19:22
C++Builder使いじゃないからよくわからんけど、プロジェクトオプションでFullDebugModeを
定義済の状態にしてFastMM関係のソースをコンパイルすればいいはず(*.objか*.dcuを
一旦削除することで)。FastMM_FullDebugMode.dllを配置するのも忘れずに。
369:デフォルトの名無しさん
10/07/02 20:18:11
わかりました。
370:デフォルトの名無しさん
10/07/28 10:55:56
BCB2010を使ってるんですが
これのSTLのfstreamって
4GB超えるファイルは扱えないんでしょうか?
ifstream in(file_path, ios::binary);
in.seekg(0, ios::end);
int64_t file_size = in.tellg();
とやると
小さなファイルでは正しくファイルサイズが返ってきますが
4GB超えるファイルを開くと file_size には0xFFFFFFFFFFFFFFFFが返ってきます
371:デフォルトの名無しさん
10/07/28 20:52:19
>>370
std::ifstream::tellg()はstd::pos_typeを返す
従ってstd::pos_typeの内部表現次第と言うしかない
つまり処理系依存
これを避けるのはWin32を直接触るしかなかろう
372:デフォルトの名無しさん
10/07/28 21:32:11
確か、stdioも同じなはず。
シーケンシャルに4G超えを読み取ることは出来る(はず)が
seekは出来ない(_lseeki64とかを使う)。
また、tellで得られる値も32bit。
VC++がそういう仕様になっているので
他の処理系もそれに合わせてるんじゃないかとも思う。
373:デフォルトの名無しさん
10/08/09 13:43:51
TForm::OnCloseの中で、
>delete this;
って、
アリですか?
374:デフォルトの名無しさん
10/08/09 15:28:55
ない
Action = caFree;
でok
375:デフォルトの名無しさん
10/08/09 17:33:13
㌧
検索したらイパーイ出てきました。
>URLリンク(kakinotane.s7.xrea.com)
>URLリンク(homepage1.nifty.com)
やっぱ、delete thisすると、フォームを閉じる前にオブジェクト破棄しちゃうわけですね?
それとも、C++ のクラスで、自オブジェクトのdeleteは許可されてないとか?
376:デフォルトの名無しさん
10/08/09 18:32:58
>C++ のクラスで、自オブジェクトのdeleteは許可されてない
言語仕様としては許されているが、実行時に解放済みメモリポインタをアクセス、または多重解放が起きる
可能性が高い。(かつコンパイル時には発見しづらいので、デバッグしにくいバグを抱える原因となる)
Google で Delete This で探せばいくらでも資料が出てくるよ
VCL に限った話をすると、OnClose の後に、Windows OS からメッセージが飛んでくる場合があり、
予想外のことが起きる可能性が高いです。OnClose は(可視)なウィンドウ実体の、終了直前に呼ばれる物。
そのあと、いろいろ後始末をしてから、C++ ランタイムとしてのメモリ実体が削除されることになっています。
なので、直接削除は避けた方が良いですよ。
または、ちゃんと設計して見切って使うように。
377:デフォルトの名無しさん
10/08/10 09:27:23
ググれば良かったのねw、ton
378:デフォルトの名無しさん
10/08/10 19:47:03
Windows7でエアロ切らずにGDI描画を速くする方法ありませんか?
379:デフォルトの名無しさん
10/08/10 21:56:57
一般的にWindows 7ではエアロが有効なほうが描画が早くCPU負荷も低い。エアログラスは切ったほうが軽くなるが。
でなんだって?
380:デフォルトの名無しさん
10/08/22 22:51:01
どなたかアドバイスお願いします。
関数プロトタイプ宣言で以下の様に記述すると、
「エラーE2303 型名が必要」と表示されます。
第2引数のTtrackBarを削除するとエラーは出ません。
何がいけないのでしょうか?
Func( TEidt *Edit, TTrackBar *Bar, DWORD num );
381:デフォルトの名無しさん
10/08/22 22:53:40
環境を書き忘れました。
BCB6Pro+SP4
XP32bit
です。
382:デフォルトの名無しさん
10/08/23 00:34:22
TTrackBarに必要なヘッダがincludeされていない
383:デフォルトの名無しさん
10/08/23 00:35:52
ComCtrls.hpp だな
384:デフォルトの名無しさん
10/09/06 08:04:54
いまだ、C++Builder6を使っているんだけど、最新版には64ビットコンパイラは含まれてるの?
385:デフォルトの名無しさん
10/09/06 08:33:50
質問です。
TListViewにて
ListView1->ViewStyle=vsReport;
とし、列を複数表示します。
マウスを使って、先頭の列を他の列に移動します。
そして先頭の列の状態を取得すると
ListView1->Columns->Items[0]->Caption;
ListView1->Columns->Items[0]->Width;
ListView1->Columns->Items[0]->Alignment;
ListView1->Columns->Items[0]->ID;
ListView1->Columns->Items[0]->Index;
上記のWidthだけが、入れ替え前の列幅値となってしまいます。
他の値は、ちゃんと入れ替え後の列の値が取得できます。
マウスで列の入れ替えを実行したあとに、各列の幅を取得するにはどうしたら良いのでしょうか。
386:デフォルトの名無しさん
10/09/06 23:24:52
>384
まだ
Delphiは来年、C++Builderは再来年の予定
387:デフォルトの名無しさん
10/09/07 14:08:06
再来年って遅くね?
388:デフォルトの名無しさん
10/09/07 21:15:16
そうは思うけど、ロードマップとフォーラムで再来年目標(キリッって書いてたし。
389:デフォルトの名無しさん
10/09/08 11:23:18
だってお、バンバン
390:デフォルトの名無しさん
10/09/14 16:41:48
Builder2007ですがデータベースのバックアップ(MySQL)を
別サーバーに定期的に取りたくて
サーバーA(元)はSQLConnection1とSQLTable1で接続し、
サーバーB(先)はSQLConnection2とSQLTable2で接続したのですが・・・
そこからどうやって各テーブル内容をAからBに作成したらいいのですか?
ちなみにBにはデータベースはありますが、テーブルは無いので
テーブルを作成して全レコードをコピーしたいのですが・・・
391:デフォルトの名無しさん
10/10/02 08:39:47
デザインをC++ビルダーで作って
細かいところをVisualC++で直すとかできますか?
392:デフォルトの名無しさん
10/10/02 08:43:42
VCL ライブラリを MSVC ではリンクできないのでかなり大変。
くだすれに来るような人には無理。
よくある現実解は、ガワだけ CBuilder で作り実作業は VC で作った DLL に任せる。
393:デフォルトの名無しさん
10/10/02 12:26:33
速解ありがとうございました。
つまり処理系はDLLでもう弄くれないようにして
そいつをビルダーで呼び出すということですか
opengl使ったソフトウェアを組みたかったのですが
なかなか大変ですね。
加えて質問なのですが
現在は試用版しかないという理解でよいですか?
Turbo C++ Explorer 日本語版 というものが使えれば
DLしたかったのですが…難しそうですね
394:デフォルトの名無しさん
10/10/02 12:54:53
C++BuilderでOpenGLは別に問題ない組み合わせじゃまいか?
試用版しかない、という理解はそれでOK。
395:デフォルトの名無しさん
10/10/02 13:54:48
Explorer 本体はまだウェブに残ってるけど、ライセンス キーもウェブに転がってる奴くらいしかない
URLリンク(www.turbomirror.com)
396:デフォルトの名無しさん
10/10/02 15:54:40
reg740txtは中国によくうpされてるらしいね
397:デフォルトの名無しさん
10/10/07 23:55:35
これからC++Builder始めます
C++Builderでのwindowsアプリケーションを始めるにあたり
398:デフォルトの名無しさん
10/10/08 19:10:51
2009でデバッグ時TEdit->TextとかTStringGrid->Cells[][]とかの中身見れなくなったけど
2010やXEじゃ改善されてるの?
399:デフォルトの名無しさん
10/10/09 11:12:21
アカデミ版で作ったソフト売っちゃいけないの?
400:デフォルトの名無しさん
10/10/09 14:21:42
ライセンス違反ですね。
401:デフォルトの名無しさん
10/10/09 16:37:25
↑あっそう?
パッケージには何も書いてないけどね
402:デフォルトの名無しさん
10/10/09 16:56:37
EULAに書いてあるでしょ?
403:デフォルトの名無しさん
10/10/11 15:08:00
C++builder触って、いろいろ講座のコピペで楽しんでますが
これって結局Win32APIのラッパーウェアってこと?
404:デフォルトの名無しさん
10/10/11 15:43:26
すいません、ラッパーウェアってなんですか?
VCLはWin32を適度な抽象度でラッピングしている、って意味なら、そうですね。
405:デフォルトの名無しさん
10/10/11 16:09:35
URLリンク(img10.shop-pro.jp)
406:デフォルトの名無しさん
10/10/12 19:39:14
一般にはフレームワークって言わないか?
407:デフォルトの名無しさん
10/10/20 22:01:44
フォームに直接描画せず、コンポーネントのみで「□」の様な中抜きの枠を作ることは可能でしょうか。
環境はBCB6です。
408:デフォルトの名無しさん
10/10/21 06:57:14
可能ちゃぁ可能だが。そういうコンポーネントを作ればいいんで。ただやることは
親フォームに対するリージョンの設定ってことになると思うけど。
409:デフォルトの名無しさん
10/10/21 11:16:05
BCB 2010 使ってみてるんですが、TRegexp で躓いてます。
基本的な事が解って無いので
簡単な文字列検索をやってみたいんですが・・・。
Edit と Button と Memo とを貼り付けたフォームで
Button の OnClick イベントで
TRegexp ex((char *)Edit1->Text.c_str()); // キャストに問題?
pos = ex.find((char *)Memo1->Text.c_str(), &len, start); // 同じく...?
こうすると、コンパイルは通りますが、検索する文字が有るにも関わらず、
posには「-1」しか返ってきません。
どうしたら上手くいくでしょうか...。(多分、おばかな質問ですみません)
410:409
10/10/21 11:55:20
>>285, >>286 を元に自己解決しました。
TRegexp が Unicode対応じゃないので、ANSIに変換すればいいんですね...。
オーバーヘッドが生じるとは思いますけど。
411:デフォルトの名無しさん
10/10/21 14:15:59
ファイル数が多いプロジェクトをクリーン状態からコンパイルするときに、
ソース一個ずつ順番にコンパイルしていくのが遅くて辛抱たまらんので
せっかくマルチコアCPUが普及してきてんだから .obj 作るとこくらい
並列で複数同時に実行できんかいなと考えてるんだが、なんかいい手ないか?
バッチファイル的なもんでディレクトリ下の .cpp まとめてコンパイルかけるとか
そういう形ができそうな気がしてるんだけど・・・どう?
412:デフォルトの名無しさん
10/10/21 19:00:25
>>408
ありがとうございます。
少し語弊があったのですが、中抜きというより、LabelやImageなどの外周に黒枠を付けた感じにしたいのですが可能でしょうか
よろしくお願いします。
413:デフォルトの名無しさん
10/10/21 20:22:18
それはひょっとしなくてもスプラッシュではないのか?
414:デフォルトの名無しさん
10/10/22 10:11:07
>412
少し語弊どころか何したいのか理解できん
415:デフォルトの名無しさん
10/10/22 12:04:08
>>412 俺がエスパーしてみる。
コンポーネントに枠をつけたいのね?
TLabel に枠をつけたいなら
TStaticText で代用して BorderStyle = sbsSingle とか
その他のコンポーネントなら
TPanel に BorderStyle = bsSingle と BevelOuter = bvNone を指定して
このパネルん中に TImage なり何なりおいて Align = alClient
もっと具体的にやりたいことを説明してくれんと。
416:デフォルトの名無しさん
10/10/22 12:18:11
枠だけのコンポーネントなら TShape てのもある
417:デフォルトの名無しさん
10/10/23 18:12:15
FFTWをC++ Builder 2009で使いたいのですが、うまくいきません。
URLリンク(www.fftw.org) 内に書かれている
implib -a fftw3-3.lib libfftw3-3.dll
で作成したlibは、BCB6.0で動作確認できました。
同様の手順をBuilder2009のimplibで試したところ、
libは作成できますが、デバッグ時に
[ILINK32エラー]Error: 未解決の外部参照'_fftw_malloc'が …\DEBUG\FILE1.OBJから参照されました
となり実行できません。
どなたか解決のヒントをいただけないでしょうか、お願いします。
418:デフォルトの名無しさん
10/10/23 18:14:20
FFTWをC++ Builder 2009で使いたいのですが、うまくいきません。
URLリンク(www.fftw.org) 内に書かれている
implib -a fftw3-3.lib libfftw3-3.dll
で作成したlibは、BCB6.0で動作確認できました。
同様の手順をBuilder2009のimplibで試したところ、
libは作成できますが、デバッグ時に
[ILINK32エラー]Error: 未解決の外部参照'_fftw_malloc'が …\DEBUG\FILE1.OBJから参照されました
となり実行できません。
どなたか解決のヒントをいただけないでしょうか、お願いします。
419:デフォルトの名無しさん
10/10/23 20:57:33
フローティングウィンドウ
ツールパレット
DockPane
DockWindow
とかの組み方の載っているサイトおしえてください
420:デフォルトの名無しさん
10/10/25 18:52:13
フォームのクラスcppを複数のcppファイルに分割できますか?
上下スクロールがめんどいので、同じクラスを分割入力
できないかと
421:デフォルトの名無しさん
10/10/25 21:57:48
お勧めしないけど#includeでいいんじゃね?
422:デフォルトの名無しさん
10/10/25 22:04:45
勝手に分けてプロジェクトに追加するだけでいいじゃん
423:デフォルトの名無しさん
10/10/25 22:28:03
>>418
MinGWでコンパイルしてあるじゃんこれ
基本的にexeとdllは同じコンパイラで作成した方が何かといいよ
違うと変な問題で頭を悩ます事になる
424:デフォルトの名無しさん
10/10/25 22:33:58
>>421>>422
ども。
425:デフォルトの名無しさん
10/10/26 08:29:10
>>423
ありがとうございます。
元のソースからコンパイルして使うということでしょうか、
やってみます。
426:デフォルトの名無しさん
10/10/26 22:22:14
About画面を作りたいのですが、
フォームの場所に関わらずクリックを検出するにはどのようにすればよいでしょうか
427:デフォルトの名無しさん
10/10/26 22:38:21
OnClick
428:デフォルトの名無しさん
10/11/02 15:52:07
C++ Builder XE Trial版は30日を過ぎると使えなくなりますか?
429:デフォルトの名無しさん
10/11/02 21:56:50
はい
430:デフォルトの名無しさん
10/11/03 15:36:38
>>429
ども
431:デフォルトの名無しさん
10/11/06 21:12:34
C++ Builder XEで
マルチコアを使ったコンパイルどうやるんですか
432:デフォルトの名無しさん
10/11/16 11:11:09
TEditで、任意の場所に文字列を加えるプログラムを作りたいのですが、
現在のカーソル位置を取得する関数はあるのでしょうか
433:デフォルトの名無しさん
10/11/16 11:42:03
* *
* + あります!
n ∧_∧ n
+ (ヨ(* ´∀`)E)
Y Y *
434:デフォルトの名無しさん
10/11/16 16:46:21
勿論あるよ!!
435:デフォルトの名無しさん
10/11/18 14:26:07
2010とXEだとあまり大きな変更はないんですかね?
XEにアップグレードするメリットってなんかありますか?
436:デフォルトの名無しさん
10/11/18 14:39:47
クロスプラットフォーム
437:デフォルトの名無しさん
10/11/19 10:54:09
64ビットアプリはまだ作れないんだよね?>XE
BCB関連では大きな変化がないよね
クロスプラットフォームとかどれくらい実用的なんだろ?
438:デフォルトの名無しさん
10/11/20 21:14:44
BC++で作った*.libをVC++から使いたいのですが
どうしたらよいのでしょうか?
とりあえずソースは無いです
439:デフォルトの名無しさん
10/11/25 14:10:37
質問です。コンボボックスにフォーカスがくると、そのコンボボックスがドロップダウン(?)して
選択できるようにするにはどうすればよいでしょうか?
よろしくおねがいいたします。
440:デフォルトの名無しさん
10/11/26 12:22:32
>>439
どこがわからないのかな。
コンボボックスにフォーカスが来たことを検知する方法なら
OnEnterイベント。
コンボボックスのドロップダウンなら
URLリンク(www.gesource.jp)
441:デフォルトの名無しさん
10/11/27 15:33:23
StringGridでスクロールバーをプログラムで制御したいのですが、やり方がわかりません。
どなたかよろしくお願いします。
442:デフォルトの名無しさん
10/11/27 16:17:41
自己解決して目的は達成出来たのでいいですw
Rowプロパティを設定すればよかったみたいデス
スレ汚しサーセンwww
443:デフォルトの名無しさん
10/12/01 12:50:20
超初心者ですみません。
カーネルは全てのSM、SPにほぼ同じ命令がされるんですよね?
GT200で、
__shared__ int i;
for(i=0; i<8; i++)
とした場合ループせずに終わったりはしませんか?
444:デフォルトの名無しさん
10/12/01 14:28:22
そんなわけないですね。失礼しました。
445:デフォルトの名無しさん
10/12/01 15:37:14
いえいえ^^
446:デフォルトの名無しさん
10/12/03 23:17:48
SpeedButtonって、押下状態のまま非活性にするのに良い方法はないでしょうか?
Down=trueのSpeedButtonのEnabledをfalseにしたら、Downがtrueなのかfalseなのかわからない表示状態になってしまうので、、、
操作は不可、でも直前の操作で押下されていたかは視覚的に確認可能っていう形にしたいです。
どなたかご教授願います。
447:デフォルトの名無しさん
10/12/03 23:33:43
Panelなどのコンテナ上に配置して、そのコンテナのEnabledをFalseにする。
解決方法としては微妙だが。
448:446
10/12/03 23:59:27
おぉ、それでもいけるのですね!
対応策の候補として覚えておきます。
ありがとうございます。
ただ、ボタンの数が非常に多いので再配置が少し手間取りそうです、、、
現在SpeedButtonはOnClickで全て共通の関数を呼んでるので
そこに組み込むような形が理想なのですが、コードのみでの実現は難しいでしょうか?
449:デフォルトの名無しさん
10/12/04 11:22:53
Panel置く
SpeedButtonを全部選択
Ctrl+x
Panelクリック
Ctrl+v
450:デフォルトの名無しさん
10/12/04 13:13:20
2006以降のIDEなら構造ペイン(普通左上にあるやつ)でもできるな。
ボタンを選択→パネルにドロップ
451:446
10/12/05 06:40:44
>>449-450
ありがとうございます!
おかげ様でさほど手間もかからず解決しました!
452:デフォルトの名無しさん
10/12/19 13:30:14
質問です。
パスで指定したファイルをエクスプローラから開くにはどうすればよいでしょうか。
(画像を開く場合、標準のビューアが開くといった感じです)
453:デフォルトの名無しさん
10/12/19 14:34:49
つ URLリンク(msdn.microsoft.com)
454:デフォルトの名無しさん
10/12/21 16:33:32
MDIの子ウィンドウを非表示にするにはどうすればよいでしょうか
WinXP BCB6.0です
455:デフォルトの名無しさん
10/12/21 21:31:29
>454
MDIの子ウィンドウは存在している限り表示されます。これはWindows側の制限によるものです。
456:デフォルトの名無しさん
10/12/22 12:26:39
DrawGrid(StringGrid)のグリッドラインの色ってシルバー?固定ですが
このグリッドラインの色を変更する方法を教えてください
457:デフォルトの名無しさん
10/12/24 00:03:34
>>455
ありがとうございます。
もう一つ質問お願いしたいのですが、開発環境によってはMDIの子非表示は可能でしょうか。
VB製のソフトで非表示が実現できているものがあったので気になりました
458:455
10/12/24 00:35:07
>456
固定みたい。Grid.pasをプロジェクトと同じ場所において改変するか、有償のコンポーネントを
買ってくる。
>457
いやだからできないって。単に一旦破棄→非表示に見えるってだけじゃないの?Spy++か
WinSightなんかでMDIChildがhiddenになってるかを確認してみな。
459:デフォルトの名無しさん
10/12/25 17:57:56
TDrawGridの項目を外へドラッグしたいのですが、
dmAutomaticを入れると項目の選択が行えなくなり、
OnMouseDownに記述すると今度はドラッグ自体発生しません。
どうすれば解決できますか?
460:デフォルトの名無しさん
10/12/30 09:13:30
質問です。
TScrollBar以外のコントロールで、矢印ボタンが押されたことを
検知するにはどのようにすればよいでしょうか。
461:デフォルトの名無しさん
11/01/21 16:13:22
初歩的な質問かもしれませんが、
7セグメントを表示するプログラムの書き方ですが、
どのような仕組みなのでしょうか?
ウェブページを検索しましたが、うまくみつかりません。
462:デフォルトの名無しさん
11/01/21 18:46:00
ちょっと恥ずかしい質問なんだけど
これってマニュアルどこにあるの? DVDにはないみたいだけど
463:デフォルトの名無しさん
11/01/21 18:56:19
>461
日本語で
>462
ドキュメントをインストールする
または
URLリンク(docwiki.embarcadero.com)
464:デフォルトの名無しさん
11/01/21 19:13:50
461です。
winアプリのフォーム上に、数値をTimerで表示するのですが、
Labelを使うのではなく、7セグメントのデジタル表示にしたいのですが、
良い手はないでしょうか?
465:デフォルトの名無しさん
11/01/21 19:23:47
画像を自前で用意すればいいよ
466:デフォルトの名無しさん
11/01/21 19:38:42
めもりーくりーなーってソフトご存知でしょうか?
ああいう感じで表示したいと思いまして。
467:デフォルトの名無しさん
11/01/21 21:48:33
画像を自前で用意すればいいよ
468:455
11/01/21 21:51:07
>464
Windowsでは表示するためにはかならず"ウィンドウ"というものが必要で、Delphi/C++Builderでは
これらはクラス的にTWinControlというものから派生している必要がある。普通のフォームもTForm1 >
TForm > TCustomForm > ... > TWinControl > ,,, TObjectという継承関係にあるので当然フォームでも
よい。もちろんTWinControlから派生したクラスを作ってもいい。いずれにせよ描画をWIndowsが要求したときは
Paintという仮想メソッドが呼び出され、さらにそこから(存在すれば)OnPaintというイベントが呼び出される。
オーバライドしたPaintにしろ、OnPaintイベント内にしろ、プロパティCanvasが描画対象のウィンドウの
DC(Device Context)をラッピングしたものなので、(T)Canvasのメソッドを使ってお絵描きをすればいい。
そのお絵描きが値に応じた7SEGのLEDっぽく見えるようになっていればいいのでは。
あるいはそういうコンポーネントを探してきてインストールすればポトペタでコーディング不要だが。
469:デフォルトの名無しさん
11/01/22 10:04:12
超初心者な質問なのですが、コンボボックスに入力する際に数字以外のキーを
押しても無効にしたいのですが(正確にはアルファベットと記号を除外したい)
OnKeyDownイベントのKey変数から取得する値(数値)がキーボードによって違います。
(ex:英字配列のaと109キーボードのaでは違うキーコードを返してくる)
if文でif(Key=='a')などとすれば良いのでしょうが、それだとキー配列文記述しないといけません。
出来ればif(Key >= 65 && Key <= 90)のような書き方をしたいのですが、良い方法ありませんでしょうか?
470:455
11/01/22 11:22:44
そういうときはOnKeyPress
471:デフォルトの名無しさん
11/01/24 10:59:24
VK_A以外の何が返ってくるてんだ?
472:デフォルトの名無しさん
11/01/24 11:11:06
具体的にどんな数字が返ってきているのか気になるな
ただ大文字のA(0x41)が帰ってくるとかじゃないよな?
あと日本語入力になっているとか。
473: ◆.CzKQna1OU
11/01/25 17:06:25
test
474:デフォルトの名無しさん
11/01/25 17:32:12
毎回起動時にアップデート画面が出るんですがこれ非表示にできます?
475:デフォルトの名無しさん
11/01/25 20:04:26
オプションのどっかで変えられなかったっけ?
476:デフォルトの名無しさん
11/01/25 20:06:57
>>475
↑設定するところが見つからなかったです
477:デフォルトの名無しさん
11/01/25 20:08:23
ちなみにC++Builder2010です
478:デフォルトの名無しさん
11/01/25 20:21:59
よくわからんがググったら
HKEY_CURRENT_USER\Software\CodeGear\BDS\7.0\AutoRun
HKEY_LOCAL_MACHINE\SOFTWARE\CodeGear\BDS\7.0\AutoRun
あたりをどうにかするといいらしい
479:デフォルトの名無しさん
11/01/26 15:13:04
C++Builder2010で質問
APIのGetPrivateProfileIntみたいに引数でファイル名の部分にはどやってwchar_t型の文字列を与えればいいですか?
480:デフォルトの名無しさん
11/01/26 15:39:34
APIを使わずにそれをwrapしてるクラスを使えばいいと思うよ
ファイル名は普通UnicodeStringに入れてると思うのでc_strで_TCHAR *になるけど
481:デフォルトの名無しさん
11/01/26 16:42:35
いえところがファイル名をwchar_tにjぶち込んでるんですが・・
そもそもこれが間違いですかね?
482:デフォルトの名無しさん
11/01/26 17:50:34
GetPrivateProfileIntW をつかえば、かならず wchar_t* として文字列へのポインタを
指定できるけど?
ファイル名をwchar_tにぶち込む
ってのの実際のコードでもだしてみそ。