C++Builder相談室 Part6
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG過去スレ・関連サイトは>>2-10あたり。
0175デフォルトの名無しさん
NGNGMFCのCStringtとかCFileとか
使うにはどうすればいいですか?
http://www.borland.co.jp/qanda/cbuilder/c0009332.html
これやっても、
[リンカ 致命的エラー] Fatal: ファイル ADVAPI32.LIB が開けません
言われます。
プロジェクトに、追加したり
#pragma comment(lib,"Psdk/ADVAPI32.LIB")
しても、駄目ぽ。
0176デフォルトの名無しさん
NGNG俺は、DirectShowでがんばった。
0177175
NGNGパスに
$(BCB)\lib\Psdk
追加でできた。
0178デフォルトの名無しさん
NGNGVideo for Windowsで簡単にできるよ
0179113
NGNG> tabsheet.hでUnitMain.hをインクルードしてるんじゃないの。
hでインクルードしているのがまずいかと思って
cppファイルでインクルードしてみたけどだめです
型名が必要っていうコンパイルエラーが消えません
0180デフォルトの名無しさん
NGNG1.MessageDlg関数で、なぜか最後面にいってしまう。
(他のウィンドウの後ろに隠れてしまう)
2.Show関数が働かず、最前面にきてくれない。
アドバイスよろしくお願いします。
0181180
NGNG{
...
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DROPFILES, TWMDropFiles, WMDropFiles)
END_MESSAGE_MAP(TForm)
...
};
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
...
::DragAcceptFiles(Handle, true);
}
0182180
NGNG{
if ( Memo->Modified ) {
int res = MessageDlg(g_strFileName + " は更新されています。保存しますか?",
mtWarning, TMsgDlgButtons() << mbYes << mbNo << mbCancel, 0); // 質問1
...
}
char filepath[MAX_PATH];
::DragQueryFile((HDROP)msg.Drop, 0, filepath, MAX_PATH);
g_strFilePath = filepath;
g_strFileName = ExtractFileName(g_strFilePath);
Memo->Lines->LoadFromFile(g_strFilePath);
SetAppTitle();
::DragFinish((HDROP)msg.Drop);
Show(); // 質問2
}
0183180
NGNG・Win98
・C++Builder 5
です。
0184デフォルトの名無しさん
NGNG0185113
NGNG動的生成したコンポーネントの中から
親コンポーネントのメソッドを叩くことが出来ました。
ただヘッダファイルででTFrameSheetを使用するとどうがんがってもコンパイル出来ません
cppで使用するのは可能なのですが
vector<TFrameSheet*> FrameSheet;
vector<TTabSheet*> TabSheet;
↓こうするとOK
//vector<TFrameSheet*> FrameSheet;
vector<TTabSheet*> TabSheet;
ヘッダの中では使用できないのでしょうか?
0186デフォルトの名無しさん
NGNGとりあえず、vector<TFrameSheet*> FrameSheet; の前のどこかに
class TFrameSheet; って書いておけば、コンパイルは通るようになるだろうけど。
0187デフォルトの名無しさん
NGNGTIBQueryではどのプロパティが該当しますか?
0188デフォルトの名無しさん
NGNGsystem("dir > out.txt");
コンソールウィンドウを表示しないでコマンドを実行させる方法ってある?
0189デフォルトの名無しさん
NGNG#include <stdio.h>
FILE *_popen (const char *command, const char *mode);
popen ではなく _popen です。
例
FILE *pf;
char buf[256];
char *p;
pf = _popen("dir","rt");
if (pf == NULL) return MISS;
while ((p = fgets(buf, sizeof(buf), pf)) != NULL) {
;
}
_pclose(pf);
0191デフォルトの名無しさん
NGNGBCB6Pro で Examples\DBTasks\LookUp のフォルダに収められている、
lookupex プロジェクトというのがあります。
このプロジェクトをコンパイルして実行します。
このサンプルの Customer 列を編集しようとすると、
コンボボックスが出てくるのですが、
この仕掛けがどのように実現されているのかわかりません。
DMMain っていうデータモジュール上の CustomerSource が
絡んでいる…と踏んだのですが、DBGrid 上の Customer 列と
連動させているような部分をソースから見つける事ができませんでした。
どこをどういじればあのような動作になるのか、
識者の方々ご教授頂けないでしょうか。
0192デフォルトの名無しさん
NGNGのですが、両者の違いがよく分かりません。deleteでエラーが出る場合
はReleaseを使えという説明を目にしたのですがdeleteよりReleaseを使った
ほうがいいんでしょうか?
0193デフォルトの名無しさん
NGNGヘルプのTForm::~TForm
0194デフォルトの名無しさん
NGNGフォームを消したいけれど、呼び出しもとがreturn後もフォームに触るので
即座にdeleteするとアクセス例外が出るような時に使えます。
(逆に、即座に消したい時はdelete)
まあ、よくわからなければReleaseでいいかと。
Closeして、OnCloseでcaFreeって手もあるけど。
0195デフォルトの名無しさん
NGNGdouble a = 216.1;
double b = 2161;
if( a < (b/10) ){
brk = 1;
}
以上のような処理をボタンのイベント処理で
実行させると brk = 1 のところの処理を通ってしまいます。
b/10 をdouble c などに代入して if( a < c )
とすると正常に動作します。。
なぜ?
教えて君で申し訳ありませんが、どなたか教えてください。
環境はBuilder5 です。
0196_
NGNG0197デフォルトの名無しさん
NGNGC++BuilderとDelphiでは速度はどちらが速いのですか?
0198デフォルトの名無しさん
NGNG0.1は、二進数でキッチリ現わせないから誤差が出る。
0.5=1/2=0x0.1 とか、 0.75=3/4=0x0.11 とかならOKかな?(試して無いよ
0199192
NGNG回答有難うございます。いつもはdelete使っていたのでReleaseを使わないと
まずい事があるのかなと思ったもので。
0200デフォルトの名無しさん
NGNGよく出る質問だけど、その質問はどういう意味なの?
BCB/VC++と BCB/Delphiで同じコードをコンパイルしたらどっちが速いかという意味なら、
それぞれのコンパイラには得意・苦手があり、必ずこうという事は言えない。
スポット的な最適化能力はVC++が上だけど、それが実際に速いかどうかは場合によりけり。
実感としては同じ程度だね。
BCBとDelphiは共通でコンパイル出来るコードはPascalで、それは同じコンパイラを使うので同じ結果になるだろう。
コンパイラのコンパイル速度なら圧倒的にDelphiだ。
0201デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1050452299
こういうコードならDelphiが最速になるよ
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNGこのプロパティ、ヘルプ読んでも意味不明で萎えたが、
SELECT した結果を編集したい、ってこと?
それなら TIBDataSet 使えばいいんじゃない? 自前で UPDATE 文を用意する必要はあるが。
0204デフォルトの名無しさん
NGNG不思議だね。自分が書いたら何故かDelphiの方が速い事が多い。
0205デフォルトの名無しさん
NGNGCStringの
operator= (LPCSTR)
のやつが、うまくく認識されずに
コンパイルエラー
どうやったらいいですか?
0206デフォルトの名無しさん
NGNGもっとC++を勉強しろ。
0207デフォルトの名無しさん
NGNGどういうコードで、なんていうエラー?
0208205
NGNGなんかしらないけど、
うまくいけた。
0209デフォルトの名無しさん
NGNG>>206
コンパイラの得手不得手があるんで一概には言えんだろ。
たまたま204の書くコードが、dcc32の最適化と上手くハマってるってことじゃないか?
bcc32の方は、-k-を指定しても、__fastcall以外はpush ebp; mov ebp, espされてしまうし…
全部espで操作するコードを期待してるのに
0210デフォルトの名無しさん
NGNGハードディスク何メガぐらい取られますか?
0211デフォルトの名無しさん
NGNG箱の裏に書いて無いか?
0212デフォルトの名無しさん
NGNG0213210
NGNG箱といっても地味なダンボールですが
0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNGウソコケ
アップグレードで買ったが正規版の箱で送られてきたぞ
それとも俺が優待でアップグレードしたからだってのか?
0217デフォルトの名無しさん
NGNGあー、わかったわかった。
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG便乗で粘着するが俺のアップグレードもあの青い箱がきたぞ。
人によって違うのか?
で、その箱には 650MB 以上必要と書いてある(Pro版)。
0220デフォルトの名無しさん
NGNGバージョン5までは素っ気無い白い箱で届いてたのでちょっと嬉しかった。
0222デフォルトの名無しさん
NGNGそういう追及をするところが粘着という了見なわけだが
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNG>>210 以外で白い箱だった人っているの?。
0225デフォルトの名無しさん
NGNG白と青の二通りがあるなら、ずっと前にMLで話題になってるんじゃねえ?
0226デフォルトの名無しさん
NGNG丁寧な言い回しではないかw
0228デフォルトの名無しさん
NGNGフ ザ ケ ル ナ
だって
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNGライジング・サンを思い出した
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNGいや、いくらなんでも泣き寝入りしなくてもいいんじゃないか
0234デフォルトの名無しさん
NGNG大体持っているならあんな質問するかねぇ。買う前なら考えられなくもないが
箱が仮に白いヤツだったとしてもマニュアルとか見れば書いてあるだろうし。
多分過去にはアップグレードしたことがあって、同じと思い「白い箱」とか
書いてしまったとか?。どういうつもりだったのかは理解し難いが・・・。
まぁ どうでもいいや。w
0235デフォルトの名無しさん
NGNGBuilder持ってないし、ちゃちゃを入れると面白いと思って書いてるだけだけど、
>>220を見る限り古いバージョンでは白い箱があったようなので
確実に、>>210が嘘とも言い切れない予感
まぁ、何で某に電話して聞かないのか、不思議ではあるけど…
0236デフォルトの名無しさん
NGNG「化粧箱」にはいろいろ書かれているけれど、誤字や記述の変更などでさし変わる可能性もある。
だから内箱と化粧箱を分離するのですね。
化粧箱は製品ごと、種別(Pro とか Personalとか)でも別になるし、カラー印刷でコストもかかっているから
会社としては少しでも節約したいわけだ。
化粧箱は宣伝も兼ねているし、ショップに置く場合には必須。
アップグレード/DM ユーザーは、内容に同意の上でお金を払っているのだから化粧箱は必要なし。
けど、化粧箱をほしがるユーザーが多かったし、節約といっても全体に比べれば
たいした額ではなく、ユーザーの心情を考えるとあまり得策ではない。ということで
Delphi6あたりから、直販ユーザーに対しても化粧箱付で提供し始めた。
というのが真相。
0237名無し~3.EXE
NGNG今BCB4使っててWin95/98/Me/NT4/2000/XPで動くアプリが問題なく作れているので
アップグレードしてもしなくても構わないんですが、
定義されてないAPIや定数がボチボチ出てきて自前で代替ロジック組むのもいい加減アレなので、
アップグレードしようかなーと。
0238デフォルトの名無しさん
NGNGは DCOM がらみで最新の COM ライブラリが提供されていないため、MS 自身が切り捨てているからねぇ。
VCL、より厳密には Delphi の RTL を使わなければ問題なく動くはず。
Delphi ではアップデートの途中で Win95 に存在しない API を使ってしまったけど、D6 RTL Update3
(通称 Variant パッチ)で修正され、某としては保証はしないけど初代 Win95 で動作するようにした。
BCB6/Update4 に D6 RTL Update を混ぜることができるのならやってみてもよいと思うけど?
0239デフォルトの名無しさん
NGNG動かないとか言われることが多くなったので、どうしても W95 を対象に
するなら、そのまま 4 を使った方がよさそうな気がする。
0240デフォルトの名無しさん
NGNGdouble a = 216.1;
double b = 2161;
if( a < (b/10) ){
brk = 1;
}
以上のような処理をボタンのイベント処理で
実行させると brk = 1 のところの処理を通ってしまいます。
b/10 をdouble c などに代入して if( a < c )
とすると正常に動作します。。
なぜ?
教えて君で申し訳ありませんが、どなたか教えてください。
環境はBuilder5 です。
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGBCBとDelphiでは計算は long double (delphiの Extended) でするから b/10 と 比較はlong double でされる。
0.1 は2進数では 無限小数になるから
(double) 1/3 < (long double) 1/3 が真になるようn
(double) 0.1 < (long double) 0.1 が真となる
0243205
NGNG[リンカ エラー] 外部シンボル 'CString::operator const char *() const' が未解決(C:\[DEVELOP]\PACKAGE\FORM\MAINFORM_.OBJ が参照)
こんな、感じ
コードは以下
BOOL TMainForm::AddFile(const char* lpszFilePath,const char* lpszKeyName)
{
TListItem* pItem;
CFile file(lpszFilePath,0);
CFileStatus filestate;
//
file.SetFilePath(lpszFilePath);
file.GetStatus(filestate);
//
pItem = m_lstFile->Items->Add();
pItem->Caption = (AnsiString)file.GetFileName();
return TRUE;
}
void __fastcall TMainForm::ToolButton5Click(TObject *Sender)
{
if(OpenDialog1->Execute()) {
AddFile(OpenDialog1->FileName.c_str(),"");
}
}
0244デフォルトの名無しさん
NGNG#pragma link "nafxcwd.lib"
をどっかに足す。
0246デフォルトの名無しさん
NGNG>180
void __fastcall TMainForm::WMDropFiles(TWMDropFiles &msg)
{
Application->BringToFront () ; // 追加
if ( Memo->Modified ) {
以下略
で、だめかな?
0247デフォルトの名無しさん
NGNGコンパイルして実行するとたまにあるはずのコントロールが消えてることがある
んでオブジェクトインスペクタでそのコントロールをみると、Left、Top、Width、Heightが
とんでおmない値になってることが結構あるんだが、これ完全にバグだが
対処法ってあるんですかね?
0248デフォルトの名無しさん
NGNGwin2000だとヒントが出て、98だとヒントが出ません。
こういう症状って、なにか解決策ありますか?
0249デフォルトの名無しさん
NGNG数年使っているが経験なし。
バグというよりは環境を見直したほうがよいと思う。
0250デフォルトの名無しさん
NGNG98はヘルプの項目数が32767個ぐらいに制限されてませんでしたっけ?
そのせいでヒントが出ないんじゃない?
0251デフォルトの名無しさん
NGNGCB6 personal版はヨドバシカメラで9000円 商用・業務目的 不可
VC7 personal版は12800円 商用・業務目的 可
個人で商用・業務目的に開発を行なう人にとっては、
値段の問題だけで、VC選らんでる人も結構いるだろうな。
実際俺もその一人、学生ではさすがに6万円は手が出せない・・・
GUI開発をVCですると時間がかかりすぎて厳しい。
CBホスィ・・・
0252デフォルトの名無しさん
NGNG商用/業務で6万円出せない。ってのは何か間違っているよ。
いろんな事情があるんだとは思うけど。
学生がフリーウェア作る分には Personal でよいのでは?
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNGこんなのでニュースになるとは…
0255デフォルトの名無しさん
NGNGよっぽど買ってるんだろ。
0256デフォルトの名無しさん
NGNGなんちゅうか・・・それ作ってるヤシはやっぱり割れてんだろなBuilder・・・・
0257デフォルトの名無しさん
NGNG>実際俺もその一人、学生ではさすがに6万円は手が出せない・・・
この辞典でアレだなぁ・・・
0258デフォルトの名無しさん
NGNGありがとうございます。
人のパソコンで起動したら確かに出てきました。
毎月発表してて入賞すると数万円もらえたりするやつ。
あとWebで公開するときもソースも公開しないといけないの?
0260251
NGNG>>259
アルバイトで、雑誌の付録CD用のランチャープログラムを自宅で作ってるんで、
ツールは全部自前なもんで。
仕送りもほとんどないから、バイトでの収入がメインなんです。
そうなると、6万円ってまとまったお金はなかなか出せないんですよ。
家賃よりも高い金額はなかなか出せません。
みんな、お金もちなのか・・・
>>253
アカデミック版はライセンスに制限が付くとおもいました。
0261デフォルトの名無しさん
NGNG5のLearningをどこかで探してみたら?>251
0262デフォルトの名無しさん
NGNGちなみにそれって幾らもらってんの?
6万円も出せないほどの低賃金なのかな。
足元見られてるんじゃねえかなあ・・。
0263デフォルトの名無しさん
NGNG100%そういうのにまわせるわけじゃないだろ
米も味噌も買わにゃならんし、部屋代だってかかるべ
あくまでアルバイトだっていってるじゃん、それも多分単発だろ?
たいした額にゃなるまいて
0264デフォルトの名無しさん
NGNG普通、開発ツールは発注元が提供するものではないのか?
たぶん、足元見られているんだと思う。
0265デフォルトの名無しさん
NGNGBCB4で起きてる現象と同じだとすると、
ステータスバーのコンポーネントを使わないでパネルとラベルとかでそれっぽく作る。
ヒントイベントは発生してるのを確認したけどステータスバーに表示されなかった
98/XP(+manifest) = ×
2K/XP = ○
0266デフォルトの名無しさん
NGNGC++スレで、
C++ではenumの要素数を取得したり、pascalでいう、lowやhiを取れない、
とレスされました。
BCBだと拡張されてて取れる、とかないですか?
0267デフォルトの名無しさん
NGNG0268デフォルトの名無しさん
NGNGなぜそれが必要なのかが知りたいな
0269266
NGNG0270266
NGNG(templateみたいに、逆もあるけど、Delphi言語は、なんか小回りが効くような)
BCBで拡張されてないと、困るような...
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNGそもそもC++では配列の添え字に列挙型を使ったりしないし、出来ない。
それはC++の文化とは合わないしね。
0273デフォルトの名無しさん
NGNGstd::string strs[3];
strs[A] = "AAA";
strs[B] = "AAA";
strs[C] = "AAA";
std::cout << strs[C] << strs[B] << strs[A] << std::endl;
0274デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています