トップページ⇒tech
1001コメント289KB

C++Builder相談室 Part5

■ このスレッドは過去ログ倉庫に格納されています
0001owlNGNG
C++Builderに関する質問・回答や議論等を行う相談室スレッド。
過去スレ・関連サイトは>>2-4あたり。
0232名無し~3.EXENGNG
>>231
ありがとうございました。

HANDLE hMyProcess;
hMyProcess = GetCurrentProcess();
SetPriorityClass(hMyProcess, 0x00000040);

こんな感じでできますた。
#何か定数を入れてもUndefinedっていわれちったので数字直接書いてますが。。。
0233デフォルトの名無しさんNGNG
GetExitCodeProcess関数を使おうとして
BCBのエディタに
GetExitCodeProcessと打つと、
ドライブにディスクがありません。ディスクをドライブ \Device\Harddisk1\DR1に挿入してください。
というダイアログが出て、何もできなくなるんですが、どうしたら良いのでしょうか?
この症状はうちだけなんでしょうか…?
0234233NGNG
OSはWin2000です。
再インストールした方が良いんですかねぇ…?
0235デフォルトの名無しさんNGNG
へー。 IDEのバグ?
コードエクスプローラー関連だと思うけど。
0236デフォルトの名無しさんNGNG
環境はWIN2000,C++Builder5なんですが、
データベースから、DBGridにテーブルを表示させ、クリックで選択した部分の情報を取得するには、
どのように記述すればいいでしょうか?教えてください。
それを元に、その情報を含むデータを別のDBGridに表示させたいです。
0237デフォルトの名無しさんNGNG
サンプルありませんか?
0238デフォルトの名無しさんNGNG
TPrinter を使って、印刷を行う場合、
PDFへの印刷は、プリンタ名にAcrobat Distillerを指定すればよいと思うのですが、
任意の場所(C:\PDF)に任意の名前(TestPDF.pdf)でPDFファイルを出力するには
どのように設定してやればよいのでしょうか?



0239デフォルトの名無しさんNGNG
すみませんが、教えてください。
オプションで指定できる、下記をプログラムから参照するにはどうすれば良いのでしょうか。
会社名/説明/ファイルバージョン/内部名/著作権/商標/正式ファイル名/製品名/製品バージョン/コメント
Versionは5.0です。
0240デフォルトの名無しさんNGNG
>>233
おれんところでは再現せず。

Ctrl-Space でコード補完をかけているか、または GetExitCodeProcess の最後で ( を打ったときに
問題が起きるのであれば、とんでもないディレクトリのファイルを見に行っているんだと思う。
リムーバル HD とか使っていなかったかな?
0241デフォルトの名無しさんNGNG
BCB覚えるのに何かいい本無いですかね。
ぐぐるのにやたら時間かけるのも疲れちゃって…
0242デフォルトの名無しさんNGNG
>>241
あなたが何を覚えてるかによります。
0243デフォルトの名無しさんNGNG
>>241
一冊でやろうとするから難しいのでしょう。
C++の本と Delphi本とに別けて探したら?
というか、まずDelphiに慣れてしまう方が楽なのでは?
0244国語が足りない奴NGNG
Borland C++でリソースコンパイラが、
windows.hのヘッダファイルを展開してくれません。
「Cannot open file: windows.h」というエラーが出ます。
どうすればいいのですか?
0245デフォルトの名無しさんNGNG
>>244
./bin/bcc32.cfgを見直す
0246国語が足りない奴NGNG
bcc32.exeでコンパイルする時は、ふつうに展開するんですけど。
bcc32.cfgやilink32.cfgは SETBCC というフリーソフトにまかせました。
bcc32.cfgは
-I"D:\borland\bcc55\include"
-L"D:\borland\bcc55\lib;D:\borland\bcc55\lib\PSDK"
こうなっているんですが両方のパスは合っています。
0247デフォルトの名無しさんNGNG
>>246
http://pc2.2ch.net/test/read.cgi/tech/1030493157/l50
逝け
0248デフォルトの名無しさんNGNG
DXスレで訊くべきかもしれませんが、
D3DX(エクステンションライブラリ)を、BCB5から使う
方法はありませんか?

COFF2OMF.EXE はインポートライブラリ専用だと知ってとってもガクーリだ。
0249デフォルトの名無しさんNGNG
PDFファイルってプリンタに出力するように作成できるの!?
それって、めっちゃ楽じゃない?
0250デフォルトの名無しさんNGNG
>>239
GetFileVersionInfo
0251デフォルトの名無しさんNGNG
C++Builderって、「実行時パッケージを使って構築」をOFFにしても、EXEだけの
単体で動かす事はできないのでしょうか?
EXE起動時に「CC3260MT.DLLが見つかりませんでした。」というメッセージが
表示されて実行できないのですが。
0252デフォルトの名無しさんNGNG
>>251
オプションのリンカタブにある「共有 RTL DLL を使う」のチェックも外すといいんじゃないかな。
FAQね。
0253デフォルトの名無しさんNGNG
ありがとうございました。
動きました。
0254デフォルトの名無しさんNGNG
C++のクラス変数って初期化されますか?
0255デフォルトの名無しさんNGNG
>>254
もちろん。
0256デフォルトの名無しさんNGNG
C++Builder使うなら、ぱすかるの知識も必要ですか?
0257デフォルトの名無しさんNGNG
>>256
あったほうがよい。
0258デフォルトの名無しさんNGNG
>>248
DX8ならここから(なんか登録とかいるかもしれないが)
http://www.geocities.com/foetsch/
0259デフォルトの名無しさんNGNG
BCBでjpeglibを使いたいのですが、
実際にプログラムを作ってjpegを読み込もうとしても
JPEG parameter struct mismatch
というエラーが出てjpegが読み込めません。
なにが原因なのでしょうか?

同じようなプログラムをコンソール版でつくったら
このエラーは出ずに普通に動くので、
ますます原因が分かりません。
0260デフォルトの名無しさんNGNG
TJPEGImage についてなら相談に乗らんではない。
0261239NGNG
>>250
ありがとうございます。
GetFileVersionInfo()を頼りに検索かけまくってようやくプログラミングできました。
これってBuilder固有の話ではなく、Win全般に共通だったのですね。
GetOwnProgramInfo()
{
char szPath[MAX_PATH];
DWORD dwSize = 0;
DWORD dwReserved;
LPVOID lpBuff=NULL;
UINT dwLen;
LPWORD lpWord;
DWORD dwLangAndCharSet;
char szKey[256];
if(::GetModuleFileName( NULL, szPath, MAX_PATH )==0)
return;
dwSize=::GetFileVersionInfoSize( szPath, &dwReserved );
if(dwSize==0)
return;
lpBuff=malloc( dwSize );
if(lpBuff){
BOOL bRet = ::GetFileVersionInfo( szPath, 0, dwSize, lpBuff );
if(bRet==true){
bRet = ::VerQueryValue( lpBuff, "\\VarFileInfo\\Translation",(void **)&lpWord, &dwLen );
if(bRet){
dwLangAndCharSet=MAKELONG( lpWord[1], lpWord[0] );
LPTSTR lpStr;
sprintf( szKey, "\\StringFileInfo\\%08x\\%s",dwLangAndCharSet,"CompanyName");//会社名
bRet = ::VerQueryValue( lpBuff, szKey, (void **)&lpStr, &dwLen );
・・・
こんな感じで取得できました。
0262259NGNG
>>260
VCで作っていた画像用のクラスの部分をBCBで使いたいので、
できればその部分はそのままの形で使いたいのです。
0263デフォルトの名無しさんNGNG
さて。Update4 だが。
0264デフォルトの名無しさんNGNG
>>263
なんね?
0265259NGNG
自己解決しました。
コンソールからmakefileを使ってライブラリを作るのではなく、
BCBを立ち上げて、そこからライブラリを作るとうまくいくみたいです。
かわりに今度はコンソールのほうで同じエラーが出るようになりましたけれど。
0266デフォルトの名無しさんNGNG
ファイル名を列挙して
文字列を格納したListViewの
個々のアイテムのアイコンを
ファイルと同じにしたいのですが、

ファイルから関連付けされてるアイコンのハンドル取得
→ImageListに追加
→アイテムのImageIndexを書き換える
をやってたら、膨大なリソースを使いそう+重そうなんです。

他に、何か簡単な方法はないですか?



0267デフォルトの名無しさんNGNG
>>266
OwnerDrawをtrueにする。
そんでOnDrawItemでアイコンを取得して自分で描画する。
0268デフォルトの名無しさんNGNG
>>263
どした?
0269にやこう ◆Es3JBt9s5c NGNG
(・∀・)ニヤニヤ
0270デフォルトの名無しさんNGNG
すみません。
デバッグ時に実行する行を強制指定することは出来ないのでしょうか?
VCでいうところの、右クリック->次に実行するステートメント みたいな機能
なんですが
0271デフォルトの名無しさんNGNG
>>267
情報ありがとう。
でも、
簡単には出来ないみたい。
~~~~~
0272デフォルトの名無しさんNGNG
「簡単に」ってことが「コードを書かずに」を意味しているのなら、
OS がサポートしていない機能なんだから不可能。
エクスプローラもどきを作ろうとしているわけでしょ?

既存のコード/コンポーネントを流用したら?
Shell コンポーネント貼り付けちゃえば済むはなしではないかな?
0273デフォルトの名無しさんNGNG
>>271
べつに手順どおりに組めばいいだけだから難しくないんじゃ?
0274デフォルトの名無しさんNGNG
タスクバーのアイコン上にドラッグ&ドロップすることってできますか?
いろいろ調べたんですけど情報が見つからなくて・・・

教えて頂けると大変助かります。
よろしくお願いいたします。
0275デフォルトの名無しさんNGNG
>>274
どんなアプリケーションでも不可能じゃないの?
「タスクバーのボタン上にはドラッグできません」
と警告が出ますが。
どれか、できるアプリをご存知?
0276ももNGNG
サービスアプリケーションを作成しているのですが、訳あってフォームを
表示しなければならなくなってしまいました。どなたか、サービスアプリ
からフォームを表示する方法を教えて下さいませ。
0277デフォルトの名無しさんNGNG
>>276
ふつーはできません。
ユーザーがログインしていない状態でもサービスは起動しつづけなければいけないので
デスクトップ等が存在しているとは限りません。

たとえば、サービスで動く Interbase に対する IBAdmin のような単体アプリケーションを
用意し、メッセージの表示はそっちにまかせる。というのが良くある手法です。

こっから先は、CBuilder 相談室以外のところで聞いたほうが、各種情報が集まると思うぞ。
0278ももNGNG
277>>早速のレスありがとうございます。なるほど〜・・・
実は、フォームの表示というか、サービスアプリ内でjpg画像を
生成するのが目的で、フォームが表示できるなら、TCanvasコンポーネント
で簡単につくれるかな〜と思った次第です。
というわけで、TCanvasなどのコンポーネントを利用せずにjpg画像を
生成する方法があれば万事解決なのですが、ご存じの方、お力をお貸し
下さい m(-_-)m
0279デフォルトの名無しさんNGNG
メール欄に sage と書け。無駄にあげるな。

デスクトップにアクセスする権限の無いサービスから Bitmap やデバイスコンテキストを作成できるかどうか。
人に聞く前に、ちょちょいと自分でやってみな。

サービス内で TBitmap 作ってそれの Canvas に文字を書いて TJpeg で Jpeg 化して送り返す。
だけだ。
0280デフォルトの名無しさんNGNG

0281デフォルトの名無しさんNGNG
キタ━━━━(゚∀゚)━━━━ッ!!
CBuilder 6 Update4 日本語版

ftp://ftp.borland.co.jp/pub/cbuilder/

0282デフォルトの名無しさんNGNG
>>281
今英語版のUpdate4当たっているんだけど、上書きして大丈夫かな。
試してみます。Helpの化けが直ればいいんだけど。

#しかしもうすぐBCB7が出る時に今更Update4もないよなあ。
0283デフォルトの名無しさんNGNG
>今英語版のUpdate4当たっているんだけど、上書きして大丈夫かな。

2ch パッチを当てている方は以下の *.jpn ファイルを「必ず」削除してください。

bcbide60.jpn
coreide60.jpn
comp32p.jpn
bcc32.jpn


>試してみます。Helpの化けが直ればいいんだけど。
それは無理じゃないか?

>#しかしもうすぐBCB7が出る時に今更Update4もないよなあ。
もうじき?まだまださきじゃ無い?
Q3 って秋だよ。
0284デフォルトの名無しさんNGNG
日本語版Update4当ててみました。英語版Update4が既に当たっている
場合は、Helpの化けが直りません(T_T)。気分が悪いので再インストール
しようと思います。
英語版Update4のファイルがほとんど上書きされていました。もしかしたら
日本語版独自の拡張が何かあるかもしれません。(多分そんなものは無いと
いう確信に満ちたものがありますが・・・・)
bcb6errs.hlpが日本語版になったのは唯一うれしい事です。
0285デフォルトの名無しさんNGNG
Update1 は日本語版では反映済みで、Update3 は公開ベータ扱い。
だから Update2 を抜かしただけなんだけど....
期間があまりにも開いたのが痛かったなぁ。だいぶ心証が悪くなった。

俺は英語版パッチ当てていたからバグは回避できていたけど。
0286デフォルトの名無しさんNGNG
>>284
ヘルプの化け、ってなに?
どこが化けるの?

0287デフォルトの名無しさんNGNG
>>286
今BCB6を完全アンインストールしてから再インストールしてみました。
俺の記憶では日本語版はHelpも日本語版だったような気がするので
すが、違ったようです。
但しURLの参照先がwww.borland.co.jpになっているので、これでよい
のだと思います。
Delphi7との共存のためにcc3260mtをwindows\system32にコピーしな
いといけないようですね。
0288デフォルトの名無しさんNGNG
んー
だからどこのヘルプが化ける/英語のままなの?

D7 と共存させているようだけど、D7 でインストールされるヘルプが表示されているのではないかなぁ。
0289デフォルトの名無しさんNGNG
>>283
げげっ削除しませんでした。
もう一度やり直します(T_T)
0290デフォルトの名無しさんNGNG
>>288
ちょっと待って。俺のは>>283の2chパッチが当たったままだったから、
これを削除してやり直してみる。フォルダごと削除するよ。
0291デフォルトの名無しさんNGNG
>>290
無理するなよ春厨
0292デフォルトの名無しさんNGNG
パッチで追加されたファイルは、元から存在せず、今回のパッチでも追加されていないファイル(のはず)

*bcbide60.jpn
*coreide60.jpn
*comp32p.jpn
*bcc32.jpn

Update4 を当てる前でも後でも、削除すれば問題ない。はずです。

気持ち悪い場合は、再インストールまで戻ることになるかもしれませんが。


ヘルプの文字化けの件、どこが化けるのかおしえてくれよぉ。
0293デフォルトの名無しさんNGNG
>>291
春休みなので典型的な春厨です。
>>292
当てる後で削除してもよかったのですね。気持ち悪いので一度
再度アンインストールし、全てのフォルダを削除してからまた
インストールしました。
Helpの文字化けの件だけど、俺の記憶ではHelp->バージョン情報
が日本語だったような記憶があるのだが、今やってみたらやっぱり
英語で表示された。だからこれはこれでいいんだろう。
Helpファイルで化けることはありません。Update4英語版ででbcb6errs.hlpが
英語だったので、これが無効になるという不具合がありましたが、日本語
Update4では直っています。
0294デフォルトの名無しさんNGNG
全くスレ違いですが、Delphi7のアップデートファイルは出ているのですか?
0295デフォルトの名無しさんNGNG
「Help->バージョン情報 」と「ヘルプ」はべつだようぉ。
「Helpの化けが直りません」ってあるから....

ま、良かった。

0296まだでてないよNGNG
>>294
スレ違っているので教えない。
0297デフォルトの名無しさんNGNG
>>295
ごめんなさい。もう少しわかりやすく書けばよかったですね。
>>296
Delphiのスレにも書いてないようなのですが・・・・・・
0298デフォルトの名無しさんNGNG
>>296
そうでしたか。まだ出てないのですね。英語のサーバにも行ってみたけど、
レジストリ修正のパッチしか出ていませんでした。
メニューがXPに対応していて、XPのColorMapのコンポーネントもあるので、
早くBCB7も出て欲しいです。
0299デフォルトの名無しさんNGNG
僕は、最初からBorlandを信じていたよ。
うん。
0300デフォルトの名無しさんNGNG
>>299
ナイスな皮肉。

で、正式発表はいつだろう。また一月くらいかかったりして。
0301デフォルトの名無しさんNGNG
>>300
ローカライズの点でまだβだったりして・・・

イスドン128なんでまだまだDLに時間がかかる…
0302デフォルトの名無しさんNGNG
(´-`).。oO(Readme_64.txtのヘルプのアップデートの手順が間違ってる‥‥.GIDの間違いだよな?)
0303デフォルトの名無しさんNGNG
update4の公式発表出たね
ttp://www.borland.co.jp/cppbuilder/cb6/cb6up.html
0304デフォルトの名無しさんNGNG
2ch 以外ではどこも話題になっていないってのが情けないというか。
ユーザーは死滅したか。

ホームページのトップにでかでかと出さないと、みんな気づかないぞ。

0305デフォルトの名無しさんNGNG
ttp://www.borland.co.jp/download/cppbuild.html
ここでもアナウンス始まりました

個人的にはC++BuilderDirectのURLが治って良かったなと
0306デフォルトの名無しさんNGNG
>>302
.gifを削除させたらいかんやろw
0307 NGNG
>>304
実際知名度低くてな〜
この間仕事先でがんばってMFCでアプリ作ってる人がいて
なんか悲しかった…
0308デフォルトの名無しさんNGNG
BCB…どこまでも不憫なやつ ・゚・(ノД`)・゚・。
0309デフォルトの名無しさんNGNG
ところで・・・・
これ、パッチ当てたバージョンってどこで見る訳?
0310デフォルトの名無しさんNGNG
>>309
激しく尿意
バージョン情報にはあらわれないよね
6.0.10.166ならパッチ済みだっていうのかな
0311デフォルトの名無しさんNGNG
あー、すいません、素人質問です。
char a[] = {'A','B','C'}
みたいな形で、2バイト文字を扱いたいのですが、何かうまい方法は無いでしょうか…。
昼からいじってるんですけどうまいこと思いつきません…。
0312デフォルトの名無しさんNGNG
char *a[]={"あ","い","う",};
short a[]={'あ','い','う',};
0313名無しさんNGNG
wcharっていう型なかったっけ。
0314デフォルトの名無しさんNGNG
あっ、ポインタか…どうもありがとうございます。
#もっと本読まないと
0315デフォルトの名無しさんNGNG
http://homepage2.nifty.com/thecherryboy/index.htm
みんな潰してくれ!
0316デフォルトの名無しさんNGNG
>>314
無用にバグるな。きっと。
0317デフォルトの名無しさんNGNG
>>315
(゚д゚)一人でどうぞ。
0318デフォルトの名無しさんNGNG
>>313
wchar_tだろ
0319デフォルトの名無しさんNGNG
日本語版アップデート入れてみましたが、個人的には
致命的なバグが治っていなくて悲しいです。

エディタのキー割り当てをepsilonエミュレーションにした場合、
拡張モジュールに「バッファリスト」というものがあるのですが、
そのチェックをOFFにしても、次にBuilder起動するときには
またONに戻ってしまいます。

epsilonエミュの場合、カーソル後ろ移動のCtrl-Bとバッファリストの
キーアサインが重なってしまい、「バッファリスト」を外したい人は
多いだろう、と思っていたのですが・・・。
0320デフォルトの名無しさんNGNG
>>319
パッケージ一覧から外せばOKでない?
それでダメなら該当bpl消してしまえば(ぉ
0321デフォルトの名無しさんNGNG
>>致命的なバグが治っていなくて悲しいです
だからね、どこかにレポートを出した?
出さなきゃいつまでたっても不便さは直らないよ。
0322デフォルトの名無しさんNGNG
C++Builder6 Update#4は、CodeGuard絡みでバグがあるようだな。
MLで報告されてる。 以下MLより。ちなみに、うちでも再現した。
==================================
以下の環境で試してみました。
・C++Builder6 + Update#4
・フォームのみの単純なプロジェクトを新規作成
・共有RTL は使用しない
・デバッグライブラリを使う
・実行時パッケージ も使用しない
・デバッグモードでコンパイル
・CodeGuard を使用する!!

次に、作成したProject1.exeをコマンドラインから起動して、終了すると
CodeGuardがエラーを報告して、以下のような Project1.cgl を書き出します。
(※ 実行時パッケージ を使用すればエラーは報告されません)

-----------------------------------------------------------------------
Error 00001. 0x400003 (スレッド 0x0110):
Exception 0xC0000005: Access violation at 0x87B887B8.
呼び出し履歴:
0x0042AC26(=Project1.exe:0x01:029C26) system.pas#17223
0x0042C006(=Project1.exe:0x01:02B006) WinHelpViewer.pas#661
0x0046A6CB(=Project1.exe:0x01:0696CB)
0x0046A71A(=Project1.exe:0x01:06971A)
0x00469A40(=Project1.exe:0x01:068A40)
0x0046A8F0(=Project1.exe:0x01:0698F0)
0323デフォルトの名無しさんNGNG
DelWikiがあるんだ。
BCBWiki作ろうぜ。
おれは、参加しないが。
0324デフォルトの名無しさんNGNG
>>322
>>60みたいなのもあったしね。バグてんこもりなのは仕方ないのでない?
0325デフォルトの名無しさんNGNG
C++Builder6 Proで、チュートリアルにしたがってテキストエディタを作っているのですが、
なぜか、ツールバーにアクションマネージャから項目をドラッグすると、ボタンだけでなく、
その横に、文字も入ってしまいます。たとえば、「新規作成」をドロップすると、
ボタンだけでなく「新規作成」という文字もはいってしまうのです。
これを消して、ただのボタンにすることはできないのでしょうか。
お願いします。
0326デフォルトの名無しさんNGNG
ShowCaption
0327デフォルトの名無しさんNGNG
メニューを切り離し可能にする方法を教えてください。
Window側のDockSiteをtrueにしても何も変わりません。
0328デフォルトの名無しさんNGNG
BCB4でSTLportを使おうと思ったら、プロジェクトのインクルードパスをいじるんでしょうか?

そうだとすると、プロジェクト毎にいじらないといけなくなってしまいますが、
もっとよい方法はありますか?
0329デフォルトの名無しさんNGNG
BCBはC/C++の開発環境なんだから、
BCBのコンポーネントはすべて、C++で書き直すべきだという考えについてどう思いますか?
0330デフォルトの名無しさんNGNG
>>329
時間さえあればいいんじゃないですか。
ただ、Pascal は多少なりとも覚えておくべきだと思います。
0331デフォルトの名無しさんNGNG
>>329
それやったらDelphi用コンポーネントが使えなくなる恐れあり。
新しいバグも含んでしまうかも。
■ このスレッドは過去ログ倉庫に格納されています