くだすれC++Builder( ..
[2ch|▼Menu]
237:デフォルトの名無しさん
07/11/07 11:55:54
>>234
商利用の可否
DBコンポーネントの有無
紙のマニュアルの有無
tasmの有無(なくてもPascalソース上でインラインアセンブラ使用可能)

238:デフォルトの名無しさん
07/11/07 11:58:36
ま、Personalは体験版、Proは通常版、Entは資金提供版。

239:デフォルトの名無しさん
07/11/12 17:34:44
初心者ながら古株のbcb5を使っています。
フォームを動的に表示する場合、
モーダルで表示したら次の行でデリートするのは
わかっているのですが、

普通にショウする場合、
動的フォームを閉じた場合のデリートは
どのタイミング(どのイベント)で
行えばよいのでしょうか?

動的フォームのcpp hにデリートを書く?
動的フォームが閉じた時の報告が親フォーム
にくればいいんですが・・・
いろいろ調べたのですが、どうも。
教えてください。

240:デフォルトの名無しさん
07/11/12 18:32:07
動的フォームのCloseイベントでthis->Release();じゃなかったっけ。
あとTCustomForm派生クラスはdeleteとかでデストラクタ直接呼び出したらだめ。


241:デフォルトの名無しさん
07/11/12 20:18:04
どうもです。
試してみます。

242:デフォルトの名無しさん
07/11/12 20:27:26
VCL6のソース読んだらCloseイベントでActionにcaFree突っ込めば勝手にRelease呼んでくれるっぽい

243:デフォルトの名無しさん
07/11/12 20:55:30
CBuilder 6を使っていますが、randomize()関数を呼び出しても乱数発生ルーチンが
初期化されていないようで、プログラムを実行するたびにrandom()関数が同じ値を
返してきます。RandSeed変数に出鱈目な値を入れてもrandomize()を呼び出しても
結果は変わりません。どんな原因が考えられるでしょうか。尚、Randomize()関数は
フォームのコンストラクタの中で呼び出しています。

244:デフォルトの名無しさん
07/11/12 21:16:37
>>243
randomizeとRandomize両方表記してるけど、どっち?
BCBにはどっちも存在して、random()に対応するのはrandomizeだけど、それは合ってる?

245:デフォルトの名無しさん
07/11/12 21:20:33
>>243
種をstaticで保持しておかないとだめなんじゃないの?PCの乱数なんて周期があってそこから切り出すだけなんだから。


246:デフォルトの名無しさん
07/11/12 21:22:06
レス有難うございます。
Randomize()を呼んでも"r"andomize()を呼んでも結果は同じでした。実際の乱数
発生はrandom()関数を呼び出しています。尚、randomize()に対応するのはrandom()
とのことですが、Randomize()に対応するのはrandom()とは別にあるのでしょうか。

247:デフォルトの名無しさん
07/11/12 21:29:34
>>246
System::Randomizeは下の関数に対応
System::RandG
System::RandomFrom
System::RandomRange

randomize, srandはrandom、randに対応

上がVCLの乱数ルーチンで下はC標準関数。

で、乱数の初期化はsrand((unsigned)QueryPerformanceCounter());ならまず重複しないかと。
(パフォーマンスカウンタの戻り値が64bitだから桁あふれの警告出るかもしらん)

248:デフォルトの名無しさん
07/11/12 21:35:29
む、参照返しで戻り値がBOOLだた。
LARGE_INTEGER seed;
QueryPerformanceCounter(&seed);
srand(seed.LowPart);
大抵は
srand(GetTickCount());
で十分だが。

249:デフォルトの名無しさん
07/11/12 21:41:31
有難うございます。
早速RandomFrom()を使ってみたところ、コンパイルエラー(未定義の関数)が出てしまいました。
Randomize()に関してはエラーは出ません。プロジェクトに何かライブラリを追加しなくては
ならないのでしょうか。

250:249
07/11/12 21:47:06
失礼。
RandomFrom()ではなくRandomRange()でした。

251:デフォルトの名無しさん
07/11/12 21:51:54
>>249
ヘルプ見れ。
Pascalソースでuses MathってやるようにC++ソースだと#include <Math.hpp>が必要。
ヘルプの読み方は覚えておいたほうがいい。

252:249
07/11/12 21:53:23
自己解決しました。

RandomRange()はvcl\math.hppで宣言されていますね。プログラムの先頭でこのファイルを
インクルードしたらビルドできるようになりました。又、乱数発生機構もきちんと初期化
されているようです。プログラムを走らせるたびにRandomRange()から違う値が返ってきます。
どうもありがとうございました。

253:249
07/11/12 21:54:08
>>251
失礼、かぶってしまいました。

254:デフォルトの名無しさん
07/11/13 03:52:42
超初心者質問失礼します。classの練習で数字の合計値をdisplayする問題を、
classをいくつか作ってやろうとしたのですがどうしてもうまくいきません。
結局自分は下のようにmainでdisplayするよう作って動いたのですが、
classによって合計計算とdisplayを実行するにはどう作ればいいでしょうか。

class basic
{
    int no;
    public:
    int accept()
    {
        cin>>no;
        return no;
    }
};
void main()
{
    int a[5],sum=0;
    basic ba[5];
    for(int i=0;i<5;i++)
    {
    a[i]=ba[i].accept();
    sum=sum+a[i];
    }
    cout<<sum;
}

255:デフォルトの名無しさん
07/11/13 09:10:37
BCB5の者です。
趣味でフリーソフトつくっていますが、
オプションフォームをnewで呼び出すか
起動と同時にロードしておくか
どちらがいいのか迷っています。
ソフト自体の大きさは単体のみの動作で
1MB程度です。

一般配布を意識した場合、
オプションフォーオムはバックグラウンドに
待機させておくものでしょうか?
それとも呼び出し毎にロードするものでしょうか?
なお、常駐ソフトです。

オプションはダイアログ形式で
部品の数は20個ほどです。

256:デフォルトの名無しさん
07/11/13 09:37:11
>オプションはダイアログ形式で 部品の数は20個ほどです。

今のPC/dozなら、リソース的には無問題だが、

>起動と同時にロードしておくか

コード的に素直じゃない。

さらに、オプション内容をフォームに保持させたりすると、プログラムが崩れてきたり。

フォームを開く時点でnewしてグローバルはなるべく無い方が良い。
どうしても消せないグローバルはあると思うが、グローバルフォームっていうのは...

257:デフォルトの名無しさん
07/11/13 10:31:17
よくわかりました。
一般作法ってのは聞かないと
わからないものですから。
助かりました。

258:デフォルトの名無しさん
07/11/13 10:42:24
Win9xを考慮しなくて良いなら別に動的に作らんでも良いんじゃないの〜

259:デフォルトの名無しさん
07/11/13 10:59:08
別に全部グローバルで良いんじゃないの〜
ってこと?

260:デフォルトの名無しさん
07/11/14 08:03:49
>>258
VB or JAVA プログラマみたいな発想でつな

261:デフォルトの名無しさん
07/11/14 10:56:40
BuilderはVB感覚で使ってるからね〜

262:デフォルトの名無しさん
07/11/14 12:42:39
VB->BCBはまったく違和感がない。
最近ここに張り付いたBCB5厨だけど、
ヴァーアップを考えています。
ターボCとBCB2007のどちらかとおもっています。
ベンダーのページみたら
ターボCでもいけそうな・・・
どうなんだろ。
用途は、ちょっとしたアプリ程度で、通信なんか使わない。

263:デフォルトの名無しさん
07/11/14 13:17:22
>用途は、ちょっとしたアプリ程度で、通信なんか使わない。

今の時代超便利だお。

だってIndyをポトペタしただけで、データ渡しの手段が増えるんだから。

264:デフォルトの名無しさん
07/11/14 19:20:09
へぇ。
ターボCでもOK?ですか

265:デフォルトの名無しさん
07/11/14 19:47:34
って、言ったけど・・・。
ターボCの情報はスレチガイでつか?

266:デフォルトの名無しさん
07/11/14 19:47:51
YES

267:デフォルトの名無しさん
07/11/14 21:15:22
んなこたーない

TurboC++Expはコンポーネントの追加ができないからプロジェクトにIndyのユニット追加してソース上で自分で宣言/newしないとダメ。
Pro買うんなら2007かっとけ(TurboC++ = C++Builder2006 = C++Builder10)

268:デフォルトの名無しさん
07/11/16 08:33:42
SQLでLIKE %あ%としたときに
パソコンによって
あ ア ア が対象になるパソコンと
あ しか対象にならないパソコンがありますが
なにか環境が必要になってくるのでしょうか?
いろいろ調べてますが決め手がわかりません
よろしくお願いします。

269:デフォルトの名無しさん
07/11/16 11:12:43
>あ ア ア が対象になるパソコンと
>あ しか対象にならないパソコンがありますが
んなこたーない
LIKE '%あ%' クォートつけるべし
スレ違いだ

270:デフォルトの名無しさん
07/11/19 00:20:19
static_castって、何をするものなのですか?普通の型変換と何が違うのでしょうか。
コードを書いていて、うまくいくのだけど、何をしているのか分からないと気持ち悪いし、問題もあるだろうし。


271:デフォルトの名無しさん
07/11/20 10:19:20
URLリンク(ray.sakura.ne.jp)

272:デフォルトの名無しさん
07/11/20 22:27:43
>>271
トン。読んでみます。

273:デフォルトの名無しさん
07/11/27 10:42:05
質問です。
TStringList* lst;
lstに文字列をセットして
char* p=lst->Text.c_str();
として文字列先頭アドレスを求めて処理をしている部分があったのですが
ある特定文字列のときに、pがNULLになります。
でも、
AnsiString str=lst->Text;
char* p=str.c_str();
とすると正常に文字列先頭がセットされます。
この二つで違いが出る理由は何故なのでしょうか。


274:デフォルトの名無しさん
07/11/27 10:51:04
物が違うから。

275:デフォルトの名無しさん
07/11/27 11:12:57
pがNULLってのは勘違いのはず。ただ無効な領域を指しているのでアクセスした時の動作は不定。

p = lst->Text.c_str()の実際の動作は、p = lst->GetTextStr().c_str()なので、
pはGetTextStrが返す一時オブジェクトが持つバッファを指していることになる。
上の式の評価後に一時オブジェクトは破棄されてpの参照先も無効になる。

276:デフォルトの名無しさん
07/11/27 15:04:54
ひさびさにくだスレが正常に機能してる例をみた

277:273
07/11/27 20:10:11
>>275
超ありがとうございます。
とてもよくわかりました。
ちゃんと表示されていないのは大きな文字列のときでした。
小さな文字列のときは、一時的なバッファがたまたま破壊されなかったので
正常に動いているように見えたのですね。


278:デフォルトの名無しさん
07/11/27 23:56:19
質問です。
下記 __finallyの中のA位置で、返そうとしている戻り値を知りたいのですが
result変数を作る以外の方法はないでしょうか?

int hoge() {
 try{
  if(...) return 1;
  if(...) return 2;
  if(...) return 3;
  if(...) return 4;
  throw;
 }__fianlly{
   (A)
 }
}

279:デフォルトの名無しさん
07/11/28 08:05:12
fianlly

280:デフォルトの名無しさん
07/11/28 08:47:01
無理でしょ

281:デフォルトの名無しさん
07/11/28 10:21:32
むしろresult作らない理由がないとおもう。
コスト云々なら例外処理やめてgotoで(A)に飛ばした方がはるかにコスト低いし。

282:デフォルトの名無しさん
07/11/28 10:28:46
どちらかというと、finallyはDelphi用であって、C++には元々無いもの。
Delphiにfinallyが必須なのはFreeのためであり、C++ではローカルオブジェクトの使用が推奨されている。

try finallyとtry except(←こっちはC++標準)のネストやその中でのthrow や return は言語規定されてないんじゃないかと思うのでやヴぁ目。

逆にローカル変数やローカルオブジェクトは推奨なので、
>result変数を作る以外の方法はないでしょうか?
という考えがワケワカメ。

283:デフォルトの名無しさん
07/11/28 10:34:18
C++でもWindowsAPIのハンドル閉じたりするのにfinallyは有用よ。
最近のC++処理系は大抵__finally使えるし。

284:デフォルトの名無しさん
07/11/28 10:37:50
finallyが有用なのと各種処理系で実装されているのは認めますが(実際自分も使ってる)、
finallyと例外catch(上では間違えてexceptって書いちゃった)系や、returnを組み合わせちゃダメ。

何でかっていうと、tryを2つ組み合わせて、その中でreturnすると、一番外のfinallyを通過しない。
ソースコードを読む上ではfinallyは必ず通るって頭で読むから、バグの元になるだけだお。

285:デフォルトの名無しさん
07/11/28 11:50:46
むしろreturnできる処理でどう__finally使うのか

286:デフォルトの名無しさん
07/11/28 11:59:47
その通り。

・finallyするなら複数箇所でreturnするな
・複数箇所でreturnするならfinallyするな


あと、プログラミングテクニック的には、
関数やメソッドから抜ける箇所は1箇所にするとコーディングバグを防げる。
つまり、複数箇所returnはやめるべき。

(これも適材適所で、使い方によっては便利なときもあるけどね)

287:デフォルトの名無しさん
07/11/28 12:23:07
>>285
Delphi で Exit の後に finally が実行されるのを利用するのと同じで

ローカル変数のデストラクタは return の後に実行されるのだろ?

288:209
07/11/28 14:22:59
TListBoxのn行目を「マウスでクリックした状態」にするにはどうすればいいのでしょうか?

289:デフォルトの名無しさん
07/11/28 16:12:00
SelectedIndexプロパティ とかなかったか?

290:288
07/11/28 17:53:35
Selected[n]でいいようです。ありがとうございました。

291:278
07/11/28 20:50:41
>>280-287
有難う御座いました。
各種参考にさせていただきます。

292:デフォルトの名無しさん
07/12/02 22:09:08
GetWindowLong(hwnd, nIndex)を使って、
すでにわかっている他アプリの子ウインドウ(ツールバー)の
位置変更およびサイズ変更をフックしたいと考えています。
フック自体良くわかっていません。

別に横取りして変更を加えるつもりはありません。スルーします。
単にバーの座標と幅・高さがユーザによって変更されたことの
通知がほしいだけです。
WM_MOVE
WM_SIZE
をつかって云々と他板での情報ですが、
WinAPIプログラマーリファレンスを見ても、

GetWindowLongとWM_MOVE・WM_SIZEのつながりが見えてきません。

再度申しますが、ユーザの変更知りたいだけで、座標データ等は取得済みです。
環境WinXP BCB5

293:デフォルトの名無しさん
07/12/02 22:17:45
GetWindowLong(HWND, GWL_WNDPROC)は対象が自プロセスじゃないと使えない。
SetWindowsHookEx使ってフックDLLからフックしないと無理。

294:デフォルトの名無しさん
07/12/02 22:35:17
なるほど。ますますわからん。
bcbのコード少ないからなぁ。
タイマーなんか使って
こちらからアプローチすれば、座標データが
わかっているんで、比較するだけで変更こそは
感知できるんですが、
ユーザーの変更を感知したいんですよね。
もう少し精進してみます。

295:デフォルトの名無しさん
07/12/02 22:45:19
BCBじゃなくてWin32APIの問題

296:デフォルトの名無しさん
07/12/03 20:00:56
292です。
マルチいやだから書くけど、
Win32APIスレに転載して
もまれて来ます。
とりあえず、一日放置してから
明日くらいにカキコしてみます。

297:デフォルトの名無しさん
07/12/08 10:37:10
WinExecを使って自アプリAから他のアプリBを起動しています
アプリB処理完了後に自動で終了するものなのですが
アプリAからアプリBが終了したのを調べる方法はありませんか?
Aからデータを渡しながらBを順次稼動させたいのですが

298:デフォルトの名無しさん
07/12/08 11:06:25
CreateProcessをどうして使わないの?
どうしてもWinExecって事だと実行ファイルを開いてみてロックされてるかどうか見るか
パソコン上のプロセスを列挙させるかだけど、他に実行されてると厄介だし
手間はズーっと大変だろうに

299:297
07/12/08 12:50:35
単純に知りませんでした
CreateProcessなら簡単にできるのかな
少し調べてみます

300:デフォルトの名無しさん
07/12/08 12:54:23
CreateProcess()
WaitForSingleObject()
CloseHandle()
このあたりでしょうかね?


301:デフォルトの名無しさん
07/12/08 18:53:47
プロジェクト開こうとしたら、プロジェクトルールがみつかりません
って出るんだけど、これ何が原因ですかね?

302:デフォルトの名無しさん
07/12/10 14:04:15
TForm上に配置した複数のTCheckBox同士をDnDして位置を変えたいのですが
Checked値を変える為にクリックしただけでOnDragOverイベントに飛んでしまいます。
これらを切り分けるにはどうすればいいのでしょうか。

303:デフォルトの名無しさん
07/12/10 17:25:00
TMemoryStream::LoadFromFile にて大きなファイルを読み込もうとすると
「メモリストリームの拡大中にメモリが足りなくなりました」と言われます
OSはXP、ファイルの具体的なサイズは1,382,526,976バイトです
確かにちょっと大きめのファイルですが何とか読み込みたいのですが
BCBでは読み込めないサイズなのでしょうか

304:デフォルトの名無しさん
07/12/10 18:52:11
搭載メモリは1GBという落ちか


305:デフォルトの名無しさん
07/12/10 19:08:12
ストリームなんだからファイルストリームでシークしてアクセスすればいいと思うんだけどな
どうしてわざわざメモリに読むのだろ?

306:デフォルトの名無しさん
07/12/10 19:20:11
メモリに取り込みたいって、高速処理したい以外に理由はあるんかね?


307:デフォルトの名無しさん
07/12/10 20:03:55
>>303の環境に十分な空き領域があっても、仮想メモリ空間内で"連続して"1.3GB分の空き領域がないと
メモリの確保には失敗する。どうしてもメモリに置きたいなら、小さいブロックに分けないと。

308:デフォルトの名無しさん
07/12/10 21:35:44
私もオフセット指定でシークするのを薦めるな

309:デフォルトの名無しさん
07/12/11 08:56:45
303です。
暗号化させるのにどかんと読んでどかんと処理させたかったのですが
僕のやり方は非常識だったんですね(苦笑)方針を変更してみます
ありがとうございました

310:デフォルトの名無しさん
07/12/11 09:41:41
大きなファイルはメモリに読むだけでも処理時間がかかるし、その間操作出来ないから
ユーザにはストレスがかかるだろ?
それに仮想記憶の機構ってのはHDDのキャッシュの機構でもあるから、
ハードディスクをブロック的にアクセスするのもメモリに読むのもそうスピードは変わらない。

ブロック単位に読んで処理するのが一般的だし最速だと思うよ。
途中でユーザーはキャンセルも出来るしね。


311:デフォルトの名無しさん
07/12/11 10:58:30
データベースをパソコンで動かすようになってから、巨大ファイルは
一度にメモリに読み込んで処理するような機会は無くなってきたと思う。
1レコードが固定長ならランダムアクセスが出来るし、必要なインデックス
番号でシークすればいいのだから。

312:デフォルトの名無しさん
07/12/14 20:32:36
ボタンを押したら、あらかじめbuilderで作っておいたexeファイルを実行(開く)にはどうすれば良いですか?

313:デフォルトの名無しさん
07/12/14 20:45:49
他のプロセスとして実行させるなら
1, ShellExecute CreateProcess WinExec の windowsAPI

2,execl / execv とかのprocess.h

どっちか

314:デフォルトの名無しさん
07/12/18 14:14:59
>>311
固定長じゃなくてもインデックス作っとけばランダムアクセスできるじゃん

315:デフォルトの名無しさん
07/12/18 14:22:03
可変長だと読み込みはよくても、書き込み時にサイズ変わると大変だな

316:デフォルトの名無しさん
07/12/28 12:05:19
ちょっと良くわからないなりに
以下のようなソースを
書きました。
ColorDialog1->Color=(TColor)iFontColor;
if(ColorDialog1->Execute()){
iFontColor=ColorToRGB(ColorDialog1->Color);
}

#255255255 or #FFFFFF
のような値を得たいのですが、
どうしたら得られるでしょうか?

317:デフォルトの名無しさん
07/12/28 13:14:02
このコードならiFontColor にその形式で入ってる筈だけど?


318:デフォルトの名無しさん
07/12/28 13:39:20
とおもうんですが、
B R Gそれぞれ0-255の値がほしいのです。
逆に言うと、#FFFFFFから
ColorDialog1->Color=hoge(FFFFFF);

ColorDialog1->Color=hoge(FF,FF,FF);

ColorDialog1->Color=hoge(255,255,255);
のように扱いたいのです。
iFontColorの値がいまいち理解できていないと
おもてまする。

今はカラーダイアログを使いとそれなりに動くので、
いいのですが、カラーピッカーからの数字データを
手入力でカラーダイアログもしくは、フォントカラーに
反映させたいのです。
iFontColorを16進法に酢りゃいいのでしょうか?
未熟で申し訳ないです。

319:デフォルトの名無しさん
07/12/28 13:49:21
char 配列とのunion かchar ポインタでアクセスするか

iFontColor & 0xff;
(iFontColor>>8) & 0xff;
(iFontColor>>16) & 0xff;

とやるか

320:デフォルトの名無しさん
07/12/28 14:32:22
やっぱり深みにはまってしまった模様。
即レスいただけると大変ありがたいのですが、
内容が理解不能ならあせりますね。
iFontColorの構造をもう少し調べてみます。

321:デフォルトの名無しさん
07/12/28 15:04:50
iFontColor=ColorToRGB(ColorDialog1->Color)
でiFontColorの値が
14811135で
フォトショップで得た値
FFFBE7
相関関係が見えてきません。

322:デフォルトの名無しさん
07/12/28 15:16:12
ただのビット演算じゃないの?

323:デフォルトの名無しさん
07/12/28 15:23:36
14811145は16進でE1FFFF。
TColorはBGRの順だから、RGBだとRとB入れ替えてFFFFE1。

324:デフォルトの名無しさん
07/12/28 15:43:26
理解できました。
14811145
ではなく
14811135
でした。
ありがとうございました。


325:デフォルトの名無しさん
07/12/28 16:42:31
ちなみにTColor = COLORREFだからGetRValue()マクロとか使えば簡単に色成分取り出せる

326:デフォルトの名無しさん
07/12/28 20:18:30
厳密にはTColor = COLORREFではない。


327:デフォルトの名無しさん
07/12/29 11:46:28
$00FFFFFF
右6桁がBGRだべ

328:デフォルトの名無しさん
07/12/29 13:09:30
VCL&C++ってキモイな
ソース見るたびにそう思う

329:デフォルトの名無しさん
07/12/29 14:15:13
そうか。

330:デフォルトの名無しさん
07/12/29 14:19:13
VCL&Delphiは潔い
ソース見るたびにそう思う

331:デフォルトの名無しさん
07/12/29 23:51:07
できました。
ありがとうございました。
くそソース晒して手直ししてもらえるものでしょうか?
VB仕込みのソースが悲しくて

332:デフォルトの名無しさん
07/12/30 00:14:23
どんどん晒せ

333:デフォルトの名無しさん
07/12/30 01:11:37
でも、かなり痛いソースですよ
痛いなりに面倒みてもらえたらいいんですが
プロのソースみてみたいし。
擦違いのような

334:デフォルトの名無しさん
07/12/30 01:47:06
別にスレ違いとは思わないけど2chでやるのは無理がないか

335:デフォルトの名無しさん
07/12/30 11:33:11
int __fastcall CConv::fcRGBToInt(AnsiString strRGB){
// AnsiString sC="FFFFE1"; //FFFFE1(Winツールチップカラー)
char bf[32];
strcpy(bf,strRGB.c_str());
//RGBからBGRに変換
AnsiString strBRG=
(AnsiString)bf[4]+(AnsiString)bf[5]+
(AnsiString)bf[0]+(AnsiString)bf[1]+
(AnsiString)bf[2]+(AnsiString)bf[3];
return strtol(strBRG.c_str(), NULL, 16);//int型に変換

}
//---------------------------------------------------------------------------
AnsiString __fastcall CConv::fcIntToRGB(int intRGB){

//TColorからR G B 16進法へ変換

AnsiString str = IntToHex(intRGB,6);
char bf[32];
strcpy(bf,"");
char bfRGB[32];
strcpy(bfRGB,str.c_str());

if(str.Length()==1){
bf[0]='0';
bf[1]='0';
bf[2]='0';
bf[3]='0';
bf[4]='0';
bf[5]=bfRGB[0];
bf[6]='\0';


336:デフォルトの名無しさん
07/12/30 11:34:01
}else if(str.Length()==2){
bf[0]='0';
bf[1]='0';
bf[2]='0';
bf[3]='0';
bf[4]=bfRGB[0];
bf[5]=bfRGB[1];
bf[6]='\0';
途中rk
}else if(str.Length()==5){
bf[0]='0';
bf[1]=bfRGB[0];
bf[2]=bfRGB[1];
bf[3]=bfRGB[2];
bf[4]=bfRGB[3];
bf[5]=bfRGB[4];
bf[6]='\0';
}else if(str.Length()==6){
bf[0]=bfRGB[0];
bf[1]=bfRGB[1];
bf[2]=bfRGB[2];
bf[3]=bfRGB[3];
bf[4]=bfRGB[4];
bf[5]=bfRGB[5];
bf[6]='\0';
}else{}

return (AnsiString)bf;

};


337:デフォルトの名無しさん
07/12/30 13:09:29
int __fastcall CConv::fcRGBToInt(AnsiString strRGB)
{
int intRGB = strtol(strRGB.c_str(), NULL, 16);
return (intRGB >> 16 & 0x000000FF) | (intRGB & 0x0000FF00) | (intRGB << 16 & 0x00FF0000);
}

AnsiString __fastcall CConv::fcIntToRGB(int intRGB)
{
int intBGR = (intRGB >> 16 & 0x000000FF) | (intRGB & 0x0000FF00) | (intRGB << 16 & 0x00FF0000);
return IntToHex(intBGR, 6);
}

338:デフォルトの名無しさん
07/12/30 13:27:44
スゲーコンパクトでシンプルだ
礼をもうします。

339:デフォルトの名無しさん
07/12/30 15:51:34
BRGってのはミス?

340:デフォルトの名無しさん
07/12/31 09:16:27
LMD Toolって何ですか?
英語でよくわからないのですが、
日本語サイトないですかね?


341:デフォルトの名無しさん
08/01/01 04:46:46
URLリンク(pc5.2ch.net)
にある方法を使ってコンポーネントを置き換えた場合、オブジェクトインスペクタで指定したイベント対応コードが実行されません。
普通に配置したコンポーネント同様に、イベント対応のコードを実行させるにはどうしたらいいのでしょうか。
よろしくお願いします。

342:デフォルトの名無しさん
08/01/01 08:43:04
>>341
URLリンク(homepage1.nifty.com)

343:デフォルトの名無しさん
08/01/01 14:33:37
>>342
ありがとうございます。

344:デフォルトの名無しさん
08/01/02 15:07:36
C++Builder2007のエディタの支援機能が誤作動してるみたいで、
改行するたびに余分な}が勝手に入力されるんだけど、これって直らないの?

誤作動するのは次のコードの前後からみたいだが。

char c[2]="\"";





345:デフォルトの名無しさん
08/01/02 23:31:40
QCには出てないね。登録を依頼してみたら?

346:デフォルトの名無しさん
08/01/06 16:33:14
Turbo C++ を始めようと思ったのですが、
.Net frame work v1.1のインストールができません。
WindowsXP SP2で、Windows Installerサービスは起動してます。
何か気をつけなければならない要素ってありますか?

347:デフォルトの名無しさん
08/01/06 18:00:03
>346
個別にMSのサイトからダウンロードしてインストールしてみたら?
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)

348:デフォルトの名無しさん
08/01/06 18:26:53
>>347
おっ うまくいきました
ありがとうございました〜

349:デフォルトの名無しさん
08/01/06 19:45:55
Windows Updateとかでセキュリティ関係の更新プログラムを適用するのを忘れないようにね、

350:デフォルトの名無しさん
08/01/07 16:13:08
C++Builder起動直後のブラウザ画面で、
どのメニューをクリックしても反応しないのですがどうしたらなおりますか?
ブラウザは普段はIE6(sp1)+Sleipnirを使っています

351:350
08/01/08 20:50:37
IEのインターネットオプションで、bds:/を信頼済みサイトに登録してみましたが駄目でした
ここで不具合でた人いないのかなぁ・・・

メニューのヘルプ>ボーランドのホームページ
を選択すると、ブラウザでURLリンク(www.borland.com)が開き、
この画面では、普通にブラウジングできるので、
bds:/だから駄目なのかな、と思ったのですが・。・・

352:デフォルトの名無しさん
08/01/08 21:03:13
バージョンくらい書けよ


353:デフォルトの名無しさん
08/01/08 21:35:01
>>352
すいません忘れてました

Turbo C++
Borland(R) C++Builder(R) for Microsoft(R) WindowsTM Version 10.0.2288.42451
Update 2 Copyright (C) 2005 BorlandR Software Corporation. All Rights Reserved.

OS
Windows XP Home Edition
build 2600.xpsp_sp2_gdr.070227-2254 (Service Pack 2)

IE
Version 6.0.2900.2180.xpsp_sp2_gdr.070227-2264
暗号強度: 128 ビット
プロダクト ID:76492-OEM-0011903-00111
更新バージョン:; SP2; 3283;

となっています よろしくおねがいします

354:デフォルトの名無しさん
08/01/10 03:09:25
すいません
16進数が入ったBYTE型変数を10進数のINT型の値に変換するにはどうすればいいですか?

355:デフォルトの名無しさん
08/01/10 08:03:39
「16進数が入ったBYTE型変数」
の意味が判らん。

もしかして単なるBYTE = unsigned char の配列か?
ASCIIで文字列が入ってるなら '$'を足して StrToInt とかだが
配列ならどっちが上位なのか判らんけど 256倍しながら加算すればいいだけ


「10進数のINT型の値」も意味が判らんが、後で10進数で表示したいって事なら、そんな情報は胸にしまっとけ
パック10進でって事なら、そう書け

356:デフォルトの名無しさん
08/01/15 21:20:38
Turbo C++ Builderで、XPスタイルのボタンって作れますか?

357:デフォルトの名無しさん
08/01/16 00:04:00
>>356
TXPManifestをパレットからフォームに適当に配置する

358:デフォルトの名無しさん
08/01/16 00:56:43
>>357
ありがとう
もうCodeGearについていく

359:デフォルトの名無しさん
08/01/16 08:20:08
俺も

360:デフォルトの名無しさん
08/01/16 13:36:25
C++Builder 2007ではその必要すらないのだが

361:デフォルトの名無しさん
08/01/16 22:17:55
シリアルポートからのオン信号とオフ信号を受信してその間の時間を表示するだけのプログラムを
作りました、最大でも約5秒程度です、パソコンによっては遅くカウントされてしまいます。
いろいろなパソコンで試して見ましたが、パソコンのスピードやWIN2000 win xp とか関係なく
正しく計測されるパソコンもあります、何かパソコンの設定のような気もしますが
どなたかわかりますか? c++builder5 pro で作ったプログラムです。

362:デフォルトの名無しさん
08/01/16 23:03:39
>>361
> シリアルポートからのオン信号とオフ信号を受信して

受信処理はどうなってるの?というかオン信号とオフ信号って?

> その間の時間を

どうやって取得してる?

> 何かパソコンの設定のような気もしますが

まず自分のコードを疑おう。

> どなたかわかりますか?

エスパー求むってこと?

363:デフォルトの名無しさん
08/01/16 23:28:12
>>362
説明不足でした。
特定コマンドをオン信号 オフ信号として判断してます。


364:デフォルトの名無しさん
08/01/16 23:41:13
このスレには超能力者は存在していない。
阿呆の見本なら居るようだが。


365:デフォルトの名無しさん
08/01/17 07:40:26
>>363 キミが困ってるのは時間表示の結果が思うようにならないって事なんだろ?
試しに複数の方法で計測してみたらどうだ?

1、VCL  Now() 関数の差
windowsAPI
2 GetTickCount()の差
3 GetMessageTime()
4、timeGetTime()
5、QueryPerformanceCounter()/QueryPerformanceFrequency


366:デフォルトの名無しさん
08/01/17 08:37:09
>>365
親切に対応して頂き有り難う御座います。
試してみます。

367:デフォルトの名無しさん
08/01/17 09:51:17
あとはシリアルポートの通信速度の設定とか

368:デフォルトの名無しさん
08/01/19 18:42:14
C++Buider6を使ってます。

何ミリ秒後に処理を行うというプログラムを書きたいのですが、
時刻をミリ秒以下の単位で加算できるような関数はないでしょうか?
一応、単一スレッドで、複数の処理を実行しないといけないので、Sleep
による停止は出来ません。


例えば、こんな感じで使いたい:

time = getTime();

time1 += 3500;
time2 += 4000;
:

for(;;){
now = getTime();
if( now >= time1 ){
doSometing();
time1 = now + 3500
}
if( now >= time2 ){
doSometing();
time2 = now + 3500
}
:
}



369:デフォルトの名無しさん
08/01/19 19:54:10
CodeGear C++Builder2007の評価版を使っています。
BCB5で作ったソースを読み込み実行すると
パラメータSenderは一度も使用されないと警告がでます。
気になります。
警告を外すのもなんですし。
警告が55もだされるのもいやなんですが。
みなさんはどんな感じなのでしょうか?

void __fastcall TForm1::Button8Click(TObject *Sender)

ちなみに呼び方はBCB7でOK?

370:デフォルトの名無しさん
08/01/19 20:43:28
C++Builder(BCB7ではなくC++Builder2007かBCB11だと思う)を持ってないんであてずっぽなんだけど、
void __fastcall TForm1::Button8Click(TObject *)
{...
とかパラメータを型だけにして仮引数名を書かないってのはだめですか?


371:デフォルトの名無しさん
08/01/19 20:51:06
(TObject *)

がっつり怒られました^^;

372:デフォルトの名無しさん
08/01/19 20:55:05
あ、cppだけSenderを消したらコンパイル通りました。
いろいろやってみます。
Senderってなんだっけ?
調べてみます。ども、助かりました。

373:デフォルトの名無しさん
08/01/19 21:01:26
自己解決
timeGetTimeの戻値を加算で出来ました。


374:370
08/01/19 21:06:48
Senderはそのイベントを起動したオブジェクト。この場合はButton8へのポインタが入っている。

375:デフォルトの名無しさん
08/01/19 21:06:59
SenderのほかにShiftとかX・Y・Buttonとかあったので、
消したら警告はきれいさっぱり。
ほんとにいいのか?ま、いいか

376:デフォルトの名無しさん
08/01/19 21:20:42
>>374
了解です。

377:デフォルトの名無しさん
08/01/19 21:45:26
>>373
完全にオーバースペックになるけどパフォーマンスカウンタ使うと恐ろしい精度で計測できるよ

378:370
08/01/19 22:17:20
使わないパラメータは名無しでおk

379:デフォルトの名無しさん
08/01/21 16:25:37
小さいアイコンを取得したくて、下記のようにしてみました。
TImage* img=new TImage(this);
img->Height=16;
img->Width=16;
Image1->Picture->Icon->Handle=LoadIcon(NULL,IDI_APPLICATION);
すると大きいアイコンの左上1/4が取得されてしまいました。
小さいアイコンをリソースから取得するにはどうすればいいのでしょうか、教えてください。


380:デフォルトの名無しさん
08/01/21 16:43:01
LoadImageでサイズ指定してみては?

381:デフォルトの名無しさん
08/01/21 19:55:02
Cプログラマの為に、ポイントをまとめたドキュメントを販売しています。
プロのプログラマでもあまりにレベルが低い人が多すぎます。
そんな人に限って、自分のレベルの低さを自覚していない、、、

本人は構わないかもしれませんが、その下についた新人プログラマは
たまったものではありません。(私が経験しました。)

今になって分かりました。
彼らもまた、理解できていなかったのです。

プログラミング言語の一番の習得の近道はきちんと理解している人にアドバイスをもらうこと。です。
(何といったって、参考にしようとする市販の本さえ、 きちんと説明してくれていないのですから、
 その証拠にC言語の学習で悩む人がどんなに多いことか)

私のC言語に取り組んだ7年間をすべてぶつけたつもりでテキストを作りました。

私の会社の後輩からは、どんなテキストよりもわかりやすかった!や、
今まで教えてくれていた先輩や、テキストたちが、ちゃんと理解できていないことがわかりました。
と、嬉しいコメントをたくさんもらいました。

そしてなにより、彼らの社内での評価がとても高いということが、私の誇りです。

宣伝と言ってしまえば、そうなってしまうかもしれませんが、ひとりでも多くのプログラマを救いたい。

プログラムの世界そのものの実力を底あげに貢献し、
無意味なバグに、残業したり、悩んだりして欲しくないのです。

興味がある方はどうか、下のサイトをみてみてください。
URLリンク(mori.eco.to)

382:デフォルトの名無しさん
08/01/21 21:42:30
日本語でおk

383:デフォルトの名無しさん
08/01/21 21:49:20
そろそろひろゆきの目に止まって多額の広告料金請求されっぞ

384:デフォルトの名無しさん
08/01/22 00:03:25
>379
ExtractIconEx

385:デフォルトの名無しさん
08/01/22 00:03:53
ごめん。リソースからなら違うや

386:デフォルトの名無しさん
08/01/22 00:14:57
>>381
おまえ、2chに宣伝出したら、広告料すごいぞ?
最初にレス書いた時の許諾事項は読んだよな?大丈夫なのか?

387:デフォルトの名無しさん
08/01/22 10:07:36
私の年収は10億万円なので大丈夫です。

388:デフォルトの名無しさん
08/01/23 00:33:41
俺の年収は一兆億円だもんね!

389:デフォルトの名無しさん
08/01/29 03:30:36
TForm1->Release;
としたあと、その開放完了をWaitForSingleObjectのように低い負荷で待ちたいと考えています。
どのようにすればよいでしょうか。
よろしくお願いします。

390:デフォルトの名無しさん
08/01/29 07:50:02
他のスレッドで待ちたいの?
どっちにしても、メインスレッドでメッセージポンプ回してやらないとPostMessage
しただけじゃいつまでたっても終了しないよ。

391:デフォルトの名無しさん
08/01/29 10:22:48
おしえてください。
下記のように定義して、abcの要素数分(5個)をdefの大きさ(x)にしたいのですが
abcを書き換えても、xが自動的に決まるように書くにはどう記述すれいいですか。
AnsiString abc[]={
"111.",
"222",
"333",
"444",
"555"
};
int def[x];


392:デフォルトの名無しさん
08/01/29 12:34:46
>>391 こういう風に。
URLリンク(blogs.wankuma.com)

393:デフォルトの名無しさん
08/01/29 13:02:17
>>392
ありがとう。
_countof()はBuilderには無いんですね。エラーですた。
template <typename _CountofType, size_t _SizeOfArray>
char (*__countof_helper(_CountofType (&_Array)[_SizeOfArray]))[_SizeOfArray];
#define _countof(_Array) sizeof(*__countof_helper(_Array))
これをこぴってきて
_countof(abc) にて要素数が簡単に取得できるようになりました。



394:デフォルトの名無しさん
08/01/29 17:14:23
BDS2006で問題なかったプロジェクトが
2007でコンパイルしたらリソースリークが発生した。なんで?
sys\sysutils.pasの何行目とか表示してるけど、このファイルどこにあるの?
エディタのメッセージからは開けなかった。環境変数がおかしいのかな?

395:デフォルトの名無しさん
08/01/29 18:57:59
質問です。

windows タスクバーのボリュームコントロールをプログラムから開くには?
スタート・メニューは、webから探した

HWND hTaskBar=FindWindow(PChar("Shell_TrayWnd"), NULL);
if (SetForegroundWindow(hTaskBar)){
PostMessage(hTaskBar, WM_USER+0x0104, 0, 0);
}
で開けたので、似たような方法で出来ると思うのですが???



396:デフォルトの名無しさん
08/01/29 19:13:23
::ShellExecute(0, "open", "sndvol32.exe", 0, 0, SW_SHOWNORMAL);

397:389
08/01/29 21:04:42
>>390
ありがとうございます。
DLLを作っているのですけれども、ホストの終了時に呼ばれる関数内でフォームを解放し、それが完了したらホストに値を返すようにしたいです。
だから別スレッドでは無いと思います。

398:デフォルトの名無しさん
08/01/29 21:06:13
>>396
レス感謝です。

実は先ほどボンヤリとsystem32フォルダを眺めていてsndvol32.exeを見つけ
WINEXECで開けました。
メインのボリュームだけで良かったんだけど、取り合えず良しとします。

最終的にはアプリ内の自作スライドでこのマスター・ボリュームをコントロール
したくてWin32 API プログラマーズ リファレンスと格闘中です(^^;)

399:デフォルトの名無しさん
08/01/29 23:23:07
>394
FastMMで詳細を表示させてみたら?

400:394
08/02/01 21:51:01
すまん。俺のプログラムミスだったらしい。
原因はよくわからんが、同じ処理を2回やってたのがまずかったらしい。
AnsiStringに数字を入力するときにエラー処理として
try{
edit->Text.ToDouble();
}catch{
edit->Text="1.0";
}
みたいなコード書いてて、この処理の後に別の関数呼ぶんだけど
同じような処理の後、描画の処理になってたのを
このコードの別の関数を呼ぶ場所に描画の関数を書いたらエラーは出なくなったよ。
何でエラーが出たのかさっぱりわからん。
とりあえず自己解決しました。
FastMMはこれから作るプログラム全部に導入しようと思います
ありがとう。

401:デフォルトの名無しさん
08/02/06 14:17:19
OpenMPは使えますか?

402:デフォルトの名無しさん
08/02/07 06:40:37
使えますん。


403:デフォルトの名無しさん
08/02/16 13:24:18
AnsiString s;
AnsiString t="";
s.printf("t=%s",t);
とすると、s が "t=(null)"
となってしまいます。
この(null)を出力させないようにするには、
s が "t="となるようにするにはどうすればいいでしょうか。


404:デフォルトの名無しさん
08/02/16 13:43:33
s.printf("t=%s",t.c_str());

405:デフォルトの名無しさん
08/02/16 14:28:37
>>404
早々に、さんくすです。


406:デフォルトの名無しさん
08/02/27 10:05:06
TubroC++のIDEでhとcppを切り替えるタブが下に付いているんだけど
上に持って来ることは出来ますか?
なんか使いづらくて

407:デフォルトの名無しさん
08/02/27 12:07:37
そんなことよりCtrl+F6押そうぜ!

408:デフォルトの名無しさん
08/02/28 01:06:00
Ctrl+F6は窓使いの憂鬱で別のキーに設定して使ってます
昔のバージョンでは1発で目的のファイルを開けたのに
つかいにくく感じるのは自分だけなのか

409:デフォルトの名無しさん
08/03/02 15:40:26
コンポーネントパレットが見えなくなったのですが
修復できる方法はないでしょうか

410:デフォルトの名無しさん
08/03/02 17:55:19
レジストリのみのインストールは?

411:デフォルトの名無しさん
08/03/02 17:56:04
メガネ買って来い

412:デフォルトの名無しさん
08/03/04 09:56:40
はてな???

プログラム上からのフォルダーのリネーム
ってどうやるんでしょう?

環境XP+BCB++V5。手段は問いません。



413:デフォルトの名無しさん
08/03/04 10:30:12
>>412
Sysutils::RenameFile(const AnsiString OldName, const AnsiString NewName);

414:デフォルトの名無しさん
08/03/04 19:57:19
>>413
レス有難う

ファイルじゃなくてフォルダ
(ディレクトリ)のリネームなんですよ
RenameFile(a,b)ではエラーになりますね。
ヒントなのかな・・・読めない・・?


415:デフォルトの名無しさん
08/03/04 21:02:04
どんなエラー出る?

416:デフォルトの名無しさん
08/03/04 21:18:06
ありがちなところだと、パス名含めてフォルダ名が長すぎ

お手軽にMoveFileのUnicode版使えば?

417:デフォルトの名無しさん
08/03/04 21:52:34
6.0使っています。
image->canvas->pixel[x][y] = (TColor)((a[x][y] >> 16) | (b[x][y] >> 8) | (c[x][y]))
でCanvasに書き、それを
SavePictureDialogでビットマップに保存しているのですが、
保存されるファイルが32bitのビットマップになっているようです。(ファイルサイズ的に)

これを24bitのビットマップで保存したいのですが、どのようにすれば宜しいのでしょうか?

418:デフォルトの名無しさん
08/03/04 22:40:53
Image->Picture->Bitmap->PixelFormat

でいいんじゃね?

419:デフォルトの名無しさん
08/03/04 23:28:54
C++Builder2007開発してます。
非BCB環境のwin2000で実行したところ、
CG32.DLLがないと怒られます。開発環境では動きます。
オプション->デバッグ->CodeGuardの有効チェックボタンfalseと
ツール->CodeGuardの環境設定->CodeGuard無効としてます。

バージョンはC++Builder(R) 2007 R2 Version 11.0.2902.10471で、
sp2とは書いていないのですが、最新と思ってます。

参考に以下のサイトを参考にしましたが、
うまくいきません。情報があれば教えてください。

URLリンク(www.gesource.jp)

420:デフォルトの名無しさん
08/03/05 00:57:03
URLリンク(dn.codegear.com)
の追加情報にバージョンの確認方法書いてあるからまずはそれをチェックしてみれ

421:デフォルトの名無しさん
08/03/05 01:14:29
お世話になります

追加情報

1. このパッチを適用した後も、バージョン情報ダイアログに表示されるバージョン番号は変わりませんが、
bin ディレクトリにあるファイルのタイムスタンプは、11:02になります。

bds.exeが4:04でした。
インストール4回目だわさorz

あしたやってみます。
インストールキャッシュの有無の確認方法ってありますか?
また、インストール時キャッシュの保存ってあったっけ?
情報ありがとうございました。

422:417
08/03/05 19:44:28
>>418
出来ました!ありがとうございます。

しかし、同じコードを書いた別のプロジェクトがあるんですが、それは24bitのビットマップで保存されているんですよね。
imageコンポート上かどっかで設定が出来るんですかね

423:デフォルトの名無しさん
08/03/05 21:43:12
TImageって無駄に冗長だからなぁ

424:デフォルトの名無しさん
08/03/05 22:48:52
ども。
CG32.DLLの件のものです。
意気揚々とアンインスコに取り掛かり、
せいぜい1h程度と思いきや2h以上orzで、
再インスコで以下のキャッシュの削除の有無の
選択画面を期待しながら「次」を押すと
URLリンク(support.codegear.com)
そんな画面が出ずにガンガン突き進んで
無事?完了

で、なぜキャッシュの運用を聞いてこないか
理解できない。
ちなみに、インスコプログラムのバック画像は
グリッド状のドーム天井を背景に
パルテノン神殿っぽい建物の画像で、
URLリンク(support.codegear.com)
は12345といったプログラムコードの背景なので・・・

つかれた。情報あれば、教えてください。

425:デフォルトの名無しさん
08/03/05 23:25:24
某のサポートに問い合わせた方がいいような気もする。
無料インストールサポートあったでしょ。たしか。

426:デフォルトの名無しさん
08/03/06 10:09:31
そうですね。レスありがとうございました。

427:デフォルトの名無しさん
08/03/10 21:16:11
環境はBCB2007WINXP 行数の関係で、詰めてかきます。
以下のソースで、実行F9とビルド時S+F9では挙動がことなりよくわからなくなっています。
実行時は普通にアクティブなソフトの全パスが表示されますが、ビルドしたのを実行すると取得できません。
何かの勘違いか、コンパイラの使用知識不足としか思えません。よくないところを教えていただけないでしょうか?

#include <vcl.h>
#include <psapi.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{ HWND hWnd=GetForegroundWindow();
bool blJEJ=false; DWORD dwPID; GetWindowThreadProcessId(hWnd, &dwPID);
hWnd = OpenProcess(PROCESS_ALL_ACCESS, 0, dwPID);
DWORD ReturnSize;
if(!hWnd){ ShowMessage("if(!hWnd)");//デバッグ用//ここにhWndの値をShowMessageするにはどうすりゃいいんだ? }
if(hWnd){
char buf[MAX_PATH];
HMODULE hMod; DWORD size;
EnumProcessModules(hWnd, &hMod, sizeof(hMod) ,&size);
GetModuleFileNameEx(hWnd, hMod, buf, sizeof(buf));
CloseHandle(hWnd);//これの意味がわからない。
AnsiString str=fname;  ShowMessage(str);
}
//---------------------------------------------------------------------------
へたなコードですが、素人なのでご容赦を

428:デフォルトの名無しさん
08/03/11 00:16:57
bool blJEJ=false; DWORD dwPID; GetWindowThreadProcessId(hWnd, &dwPID);
hWnd = OpenProcess(PROCESS_ALL_ACCESS, 0, dwPID);
DWORD ReturnSize;
if(!hWnd){ ShowMessage("if(!hWnd)");/

どうも、if(!hWnd)がtrueになるみたいです。
ほとほと困りました。なにとどご支援お願いいたします。
状況説明に不足がございましたら、レスしていただければ
助かります。

429:デフォルトの名無しさん
08/03/11 01:03:08
くだスレなんで思いつきだけど
OpenProcess() の戻り値とOSの関係とか、権限とかはOK?

430:デフォルトの名無しさん
08/03/11 09:19:33
>>427
ShowMessage("if(!hWnd)");//デバッグ用//ここにhWndの値をShowMessageするにはどうすりゃいいんだ?
     ↓
IntToStr(hWnd) or IntToStr(hWnd) or AnsiString().sprintf("%08X", hWnd)

431:デフォルトの名無しさん
08/03/11 09:28:41
ちょっと待て、なんでOpenProcessの戻り値をHWNDに入れてる。
OpenProcessの戻り値はHANDLE型。

432:デフォルトの名無しさん
08/03/11 09:52:09
BCB6ってUTF8ファイルのコンパイルってできましたっけ?

能とか表があると、gccのコンパイルが失敗するので、ソースファイルをUTF8にしたいんでつよね。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4352日前に更新/254 KB
担当:undef