トップページtech
984コメント343KB

新C++Builder相談室

■ このスレッドは過去ログ倉庫に格納されています
0001新人NGNG
C++Builder相談室が後少しで1000になりますので、新しいスレを...
よろしくお願いします!
0209Delあめ猫にゃNGNG
よく判らないけど void SetPort(void); とやっても同じかな?
0210新人NGNG
test
0211デフォルトの名無しさんNGNG
BCB初心者です、どなたか教えて下さい。
MSのXMLパーサを使う為に以下のような
当たり前のコードを書きました。

[Unit1.cpp]
#include <vcl.h>
#import "msxml.dll" named_guids raw_interfaces_only

VC++ではなんの問題もなくビルドできるのですが、
BCB5だと、msxml.tlhタイプライブラリで
エラー(E2303:型名が必要)が多発します。

tlibimp.exe -N namespace msxml.dllで出力した
cpp/h/dcrを取り込んでも同じ結果でした。

又、タイプライブラリの取り込みも試してみましたが
アクセス指定子のパラメータ不一致エラー(E2347)
や型変換エラー(E2034)が多発します。
0212デフォルトの名無しさんNGNG
>>208
状況がわからないからなんとも言えないけど、おかしなことはしてないねえ。

とりあえず
プロジェクト新規作成->ユニット新規作成(Unit2)->Unit2にSetPortを書く->Unit1のフォームからSetPortを呼ぶ->リンク
問題なくコンパイル完了。

たぶん、そこにかかれていること以外のことが悪さしてるような。。
0213デフォルトの名無しさんNGNG
>211
メニューからタイプライブラリの取り込みを実行する。
なんかDllの対応フォーマットがVCと違うらしい。
0214デフォルトの名無しさんNGNG
>>212
Delphi6 の tlibimp ならエラーを出さずに取り込めるよ。
0215213NGNG
ごめん。
0216デフォルトの名無しさんNGNG
>212
VC++互換という目的がある為に、vcl.hをインクルードできない。
Unit2.cppに
#include <vcl.h>
の一文を入れるとコンパイルできるのだが...?

#ifdef __BORLANDC__ を入れるのは余りにもダサイし...
0217デフォルトの名無しさんNGNG
BCB5のTStaticTextで変な現象が起こって困ってます。
現象の内容は「文字列が勝手に改行される」です。
以下、再現コードなんですがこれってBCBのバグなんでしょうか?

StaticText1->AutoSize = false;
StaticText1->BorderStyle = sbsSunken;
StaticText1->Width = 100;
StaticText1->Height = 16;
StaticText1->Caption = "あああaaaaaaaaaaaaaaaaaaaaaa";

実行時の表示内容 あああ
0218デフォルトの名無しさんNGNG
AutoSize = false;
だからだ。どう表示されれば正解としたいのだ?
0219デフォルトの名無しさんNGNG
>>218
この場合 "あああaaaaaa" が正解のはずでしょ?
0220デフォルトの名無しさんNGNG
>>218
オイどうなんだよ?
早く答えろ!
0221デフォルトの名無しさんNGNG
>>217
のコード貼り付けて実行してみたら本当に
"あああ"
になった、不思議だ...
0222デフォルトの名無しさんNGNG
ネタにマジレスでスマン  幅100dotにした理由はなんじゃい?
0223デフォルトの名無しさんNGNG
>>222
100dotって何?
0224デフォルトの名無しさんNGNG
>>223
100pixels?
0225デフォルトの名無しさんNGNG
>>217
WordWrap がONになっているんでしょう。
StaticText1->Height = 100; としたらちゃんと見えた。
0226デフォルトの名無しさんNGNG
コンポーネントの配置上の理由から幅や高さを変更できないのです。
問題は「何故途中(Asciiコード)で改行されるか?」です。
あと、TStaticText(TCustomStaticText)には
WordWrap はありませんが?
0227デフォルトの名無しさんNGNG
>>226
だからね TStaticText は常に WordWrap する仕様になっているの。
WordWrap プロパティを用意しなかった理由は不明だが。

「何故途中(Asciiコード)で改行されるか?」はもろWordWrapの
動作です。
0228Delあめ猫にゃNGNG
うん TStaticTextは Windows にある STATIC コントロールそのもの
だからSTATICコントロールそのままの動作になる
ワードラップをさせたくないなら SS_LEFTNOWORDWRAP  を付ければいいと思う
0229Delあめ猫にゃNGNG
procedure SetStaticTextNoWordWrop(StaticText1:TStaticText;Enable:boolean);
var Style: DWORD;
begin
Style:=GetWindowLong(StaticText1.Handle,GWL_STYLE);
if Enable then Style:=Style or SS_LEFTNOWORDWRAP
       else Style:=Style and (not SS_LEFTNOWORDWRAP);
SetWindowLong(StaticText1.Handle,GWL_STYLE,Style);
StaticText1.Invalidate;
end;

これを Trueで呼び出せばWordWrapしないように出来る
0230デフォルトの名無しさんNGNG
>>229
ウィンドウハンドル作り直したら崩壊ですね。
日曜プログラマーのテクニックにとどめておいてください。
0231Delあめ猫にゃNGNG
>>230 ありがと。 でも、誰がいつウィンドウハンドル作り直すのかな?

 それにさ、他の方法を提示してあげたら?
 たとえばCreateParamsをオーバライドするとかさ
0232デフォルトの名無しさんNGNG
さあどっちが正しい? ケケケ
0233226NGNG
226です。
TCustomStaticTextを派生したコンポーネントを作成して解決しました。

void __fastcall TStaticTextEx::CreateParams(TCreateParams& Params)
{
inherited::CreateParams(Params);
Params.Style |= SS_LEFTNOWORDWRAP;
}
ついでにサイズ変更時は再描画した方が良いですね。
Params.WindowClass.style |= CS_HREDRAW;
Params.WindowClass.style |= CS_VREDRAW;

Delあめ猫にゃさま、どうも有難う御座いました。
0234デフォルトの名無しさんNGNG
BuilderでSHIFT_JIS以外で書かれたソースコードをコンパイルできるでしょうか?
たとえばヘッダに文字列を分けて書いておいて
wchar_t* str = "□□□"
みたいに簡体字のテキストがGB2312_CHARSETでかかれているようなケースなんですが。
0235デフォルトの名無しさんNGNG
>>234
-CP オプションつけてコードページを明示指定。
もちろん動作(コンパイル)環境がそのコードページがサポートしている必要あり。
0236デフォルトの名無しさんNGNG
すいません、C++Builder5を買おうか迷ってる者です。
自PC(メモリー上、HD上)で作成したHTMLファイルをCppWebBrowser
などで表示可能でしょうか?
たとえば、かちゅ〜しゃのような動作をさせたいのですが。

バージョン6は、やはりWinXPでて、しばらくしてからでしょうか……
0237委員長 ◆EpJ0pYSs NGNG
>236
かちゅ〜しゃではないですが、A BoneはBCB5で作成してますよ。
恐らく、希望の事は出きると思います。
Ver.6に関しては分かりませんが、ボチボチかなぁと思ってます。
0238236NGNG
>>237
レスどうもです。

地方在住ですけど、市内を走り回ってもプロ版のアカデミックがない。
以前はあったのに……VC++とかは置いてる店もあるんだが…
やっぱ、メジャーじゃないんですかねぇ(TT
4のLE使ってますけど、なかなか気に入ってるんですけどね。
気軽に使えて。
とりあえず5LE買うか。TCppWebBrowserも裏技的にでも
使えるらしいし。

A Boneは、マルチスレッドじゃないところが不満なんですよね……
引用ナンバーも、動作不具合多いし。
0239236NGNG
…って、作者さんでしたか。
恐縮です(−−;
0240デフォルトの名無しさんNGNG
BCB6ってでるんかな?
0241デフォルトの名無しさんNGNG
TMediaPlayerでmpgファイルをフルスクリーンで再生するにはどうすればよいのでしょうか?
0242デフォルトの名無しさんNGNG
>>240
手元にあるよ。
0243デフォルトの名無しさんNGNG
>>242
うーん…
CBuilder-ML にも BCB6 の話をしている人がいるなぁ。
どこかで配っているのかな?
0244デフォルトの名無しさんNGNG
仕事で必要なので明日ボーランドの人に聞いてみようかな?BCB6
0245デフォルトの名無しさんNGNG
早くVer6出してくれ〜
0246デフォルトの名無しさんNGNG
Borcon のおまけで FieldTest 版を配るらしい。
0247デフォルトの名無しさんNGNG
Builderで作った実行ファイルのアイコンをデフォルトのBuilderのものではなく自分の指定した
アイコンでもなくデフォルトの(taskman.exeみたいな)何も指定していない四角のア
イコンにするにはどうすればよいのでしょうか?
0248デフォルトの名無しさんNGNG
パーソナルかプロフェッショナル版のどちらを買おうかと悩んでるものです。
ある程度のデータベース処理が必要なのですが
これはソフト屋さんがやるほどのものでなく
エクセルにように大量のデータを管理するだけなのです。
Builderはエクセルのような表のコンポ-ネントがあると
聞いたのですがこれはパーソナル版にもあるのでしょうか。
0249デフォルトの名無しさんNGNG
OSアップグレードしようと思うんだけどXPでBCBの不具合とか出てない?
それとも上のレスにあったBCB6待ちなのかな?
0250デフォルトの名無しさんNGNG
たまに新規age
0251  どうですか?NGNG
あのさ、BCBのプロフェッショナルと
ラーニングって価格ほどの機能の差があるのでしょうか?
買いたいんですけど貧乏なんで
0252デフォルトの名無しさんNGNG
>>251
ラーニング版は・・・
・コンポーネントが少ない
・ソースコードが付いてない
・CodeGuardがない
0253委員長 ◆EpJ0pYSs NGNG
>251
ありきたりな解答だけど、プロフェッショナル版とラーニング版の選択は
何を作成するかによると思う。
コンポーネントの量の違いが一番大きな違いで、具体的に何が違ったか
覚えてないけど、簡単なソフトを作るだけならラーニングでも充分。
ただ、3日坊主にならない!と言い切れるなら、多少無理しても
プロフェッショナル版を買っておく事をお勧めしますね。
0254  どうですか?NGNG
>>252,>>253さん
レス有難うございました。
0255デファクトの名無しさんNGNG
>>254
C++Builder6のラーニング版がきっと無償でダウンロード可能と思われ
0256デフォルトの名無しさんNGNG
>>255
...たぶんパーソナルって名前になると思う。
0257デフォルトの名無しさんNGNG
Turbo Debugger ってどうやって使えばいいの?
0258デフォルトの名無しさんNGNG
自分で見つけたよ。
漏れってえらいなぁ(自画自賛)
http://www.google.co.jp/search?q=cache:YbMU47oxsOw:user3.allnet.ne.jp/tadnakam/bcc32/td32.htm+Turbo+Debugger+5.5+&hl=ja&lr=lang_ja
0259デフォルトの名無しさんNGNG
コマンドが設定されている色以外を表示させるのにはどうすればいいのでしょうか?
たとえば、オレンジ色などです。
0260デフォルトの名無しさんNGNG
BCB5でCGI作ってるんですけど、
IISではRequest->QueryFields->Textに値が入るけど、
Apacheでは値が入らないなんてことありますか?

Apacheだと、ブラウザで入力された値が取れないよー。
0261260NGNG
違ってた、Request->ContentFields->Textの値がおかしー。

なんか、行末がCRLFになるべきところが、CRCRLFになったりする?
0262デフォルトの名無しさんNGNG
259->逝ってよし!
0263260NGNG
また違ってた!
Request->ContentFields->Text
が途中で切れてるんだけど、Apacheって制限があるんだね。
識者解説キボン。
0264デフォルトの名無しさんNGNG
GETメソッドは256文字まで。
この主張は気が向くまで続けるつもりです。
0265デフォルトの名無しさんNGNG
卒論でBCB使ってるんすけど、他のソフトに比べてBCBのよい点って
どのへんでしょうか?友人にVBの使いやすさを熱弁されて
何とか言い返したいんですけど・・・。
0266デフォルトの名無しさんNGNG
>>265
どんなとこが便利って言われたの?
センスのかけらもない開発環境と
将来性の全くない、初心者であることを強要する言語仕様とライブラリ。
いいことなんか全然ないよ。
BCBのAnchorsプロパティでも見せてやれよ。
0267266NGNG
>いいことなんか全然ないよ。
念のため。VBのことね。
0268DelフサギコNGNG
   ∧,∧     ,::  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ミ,,゚Д゚彡っ━'~  | こことか。
  ミ∪  ~,ノ    < ど かな。
   ミ  '' ミ       \____________
   し'~し'

C++Builder3-4-5研究室
http://www.kaajapan.jp/cbuilder3/
0269デフォルトの名無しさんNGNG
>>265
単純に、Basic と C++ を比べてみたら?
「Basicなんて、あんな言語・・・」って言えば、けっこう色々言えると思う
0270デフォルトの名無しさんNGNG
http://www.kanazawa-net.ne.jp/~pmansato/Tools.htm
0271デフォルトの名無しさんNGNG
自称ヘタレプログラマ 玄さんが 逝っちゃんねるブラウザ作るらしいよ。
これこそ、逝ってよし。

http://1ch.tv/ggg3fff4/cgi/read.cgi?fol=prog&log=110312153585&l=50
0272業務でBorlandを使おうNGNG
MDIアプリ作ってるんだが、ある時(いつかはわからん)から
fsMDIFormのWindowMenuが効かなくなった。
ちょっとVCLまでおっかける気力が沸かないのだが
MLの過去ログ見てみると他にも遭遇してる人いるみたい。
どっかのメソッドをoverrideしたせいっぽいが
なんか解決方法きぼんぬ。



# BorCon経費で逝けるYO!
0273デフォルトの名無しさんNGNG
他のプログラムで使っていたフォームを別のプログラムでも使うにはどうすればよいのでしょうか?
0274委員長 ◆EpJ0pYSs NGNG
>273
他にも方法があるのかもしれないけど、私は
Unit1.dfm
Unit1.h
Unit1.cpp
をコピペして、プロジェクトに追加をしてますね。
特に問題はないみたい。
0275joyNGNG
DirectX8を使ってみようと、C++Builder-Learningを買ってきました。

インクルードパス・ライブラリパスをインストールしたDX8に指定したところまではよかったのですが、コンパイルしようとすると、
リンカエラー外部シンボルDirect3DCreate8が未解決とか出ます。

過去ログをみましたが、DirectInputとかの記事は見つけたのですが、私の場合、根本的なところからつまづいてしまっています。
googleとかで散々探しましたが、C++BuilderとDirectX8のことが見当たりません。

どうすればよいのでしょうか?がっかりしていまいました。
なんとか、このコンパイラで出来る方法を教えていただけないでしょうか?
よろしくお願いします。
0276noriNGNG
失礼します。
VC++でプログラムがあるのですが、C++Builderに移植して、通信
コンポ−ネントを使いたいのです。移植する際、問題になる点はどのようなことが
あるでしょうか?また、初めて移植をするので、移植作業はどのように行えばよい
でしょうか?

ぜひお願いいたします。
0277デフォルトの名無しさんNGNG
>>276
正直、いくら金出す?

CBuilder のバージョンにもよるが、VC プロジェクトのインポートツールが
ついていないか?
0278デフォルトの名無しさんNGNG
>>275
よく知らないんだけどDelphiXってBCBでは使えないの?
0279デフォルトの名無しさんNGNG
>>276
移植するより、最初から作り直した方が早いことが多いです。
0280デフォルトの名無しさんNGNG
>>275
コレ使えば、できるよ。
http://www.geocities.com/foetsch/borlibs/
0281joyNGNG
280さん、ありがとうございます。
早速、拝見しました。
じつは、Googleで検索したときに、そのページのフランス語のページを発見しましたが、その英語版のようですね。

そのときは、さっぱりわからなくて、DLしませんでしたが、これは使えそうですね。
がんばってみます。
0282joyNGNG
できました!

ありがとうございました。
ほんと、初歩の初歩でつまづいて、おはずかしい。

C++Builder、がんばってみます。
0283 NGNG
C++Builderって人気ないですね…
兄弟分のdelphiに大きく溝を空けられてる気がする。
これからラーニング版買って勉強しようと思ってる
のですが考え直した方がいいのかな???
0284デフォルトの名無しさんNGNG
早く新しいバージョンだしてほしい。
0285デフォルトの名無しさんNGNG
>>283
考え直したほうが良いよ。
0286 NGNG
正直、否定して欲しかったんですけど>>285(ワライ

一応C、C++のコンソールアプリが組めるようになった段階で
GUIに挑戦しようとしてVC++のMFCで挫折した口なんですが、
C++Builder(VCL)に移行すれば幸せになれますかね…
それとも敢えてobject pascalを一から勉強し直してでも
(簡単な?)Delphiに拘った方がいいのでしょうか…
今のところDelphiはC++builderに失敗した際の「保険」
として捉えているのですが。
0287DelフサギコNGNG
  ,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,ミ,,゚Д゚彡 < 春ゴロにはBCB6が出る気はしますが
  UU""" U U   \_______________

ま、鉄は熱いうちに打てなので
思い立ったが吉日でどっちもやればどうでしょ?

D6はパソナ版無料ですし。
BCB=Dと思っていいですよ。

C++に慣れきっているならBCBよいですし。
VCLどっぷりになりたいならDelの方がいいかな。

D6パソナで勉強して、その後BCBの無料(でるかな?)
に移行したり、Pro版に移行したり。ってのは?

>GUIに挑戦しようとしてVC++のMFCで挫折した口なんですが、
そこで、VBにいく人はたくさんいらっしゃりそうです。
0288デフォルトの名無しさんNGNG
で,何をしたいの?

目的が先にあって,道具としてツールを選ぶのと,
ツールを使うことを目的にするのとでは,だいぶ世界が異なるぞ。
どちらが良い,とかではなくてね。
0289デフォルトの名無しさんNGNG
Delphi はコンポーネント貼り付ければ終わりじゃんとか言って貶すやついるけど
VC は MSDN のサンプル貼り付ければ終わりじゃねーか
VC の方が簡単だよな
0290 NGNG
>>287
>>288
目下の目標はファイル管理ツール。将来的にはゲームを…
とりあえずC++builderと平行してdelphiの
学習も進めようと思います(OPascalは簡単そうですし…)
Delフサギコさんにはフサフサ談話室の方でもお世話になると
思いますので、その時は宜しくお願いします。
0291デフォルトの名無しさんNGNG
>>289
ところがMSDNのサンプルは時々わざと間違っているという罠。
0292 290ですがNGNG
ちょっと軌道修正します。
フサギコ氏がBCB6来春発売を予言しているので

>>D6パソナで勉強して、その後BCBの無料(でるかな?)
>>に移行したり、Pro版に移行したり。ってのは?

↑この案で逝こうと思います。
0293デフォルトの名無しさんNGNG
予言というか
http://itpro.nikkeibp.co.jp/free/NSW/NEWS/20011115/2/
ここ読んだんだろ?
0294DelフサギコNGNG
Borland Maniacs!
http://member.nifty.ne.jp/h_kova/
C++Builder3-4-5研究室
http://www.kaajapan.jp/cbuilder3/
C++Builder ML
http://www.sfdata.ne.jp/windev/cbuilder/index.html
C++Builder Programming
http://market.agr.tottori-u.ac.jp/ken/
ahomaro's C++Builderのお部屋
http://www.ne.jp/asahi/nagoya/ahomaro/builder/index.html
Chimera〜鶏による免疫実験(謎)〜
http://homepage1.nifty.com/absolute/
Gonta's Room
http://www2a.biglobe.ne.jp/~gonta/
Borland - Q&AC++Builder
http://www.borland.co.jp/qanda/cbuilder/index.html

   .∧,,∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜'"ミ,,゚Д゚ミ < いちおう、リンク集ドウゾ
 UU''UU   \___________

[ARAHIQS]Borland C++ Builder
http://cgi.biwa.ne.jp/~shinya-/bcb/index.html
七味唐がらし
http://www.din.or.jp/~chiru/

この二つは名サイトだったけど、失われたようです。
0295DelフサギコNGNG
>フサギコ氏がBCB6来春発売を予言しているので

   .∧,,∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜'"ミ,,゚Д゚ミ < 責任重大?
 UU''UU   \___________

出なくても、ねこふんじゃったしないでください。

>Delフサギコさんにはフサフサ談話室の方でもお世話になると
>思いますので、その時は宜しくお願いします。

DelphiリンクやBCBリンクを活用して
2chで、あおられないように気をつけてね。

なんにせよ、作りたいものを作ったり
知りたいことを知ったりする道具として
使ってナンボなので、突き進んでイコー
0296 NGNG
>>294
これは、ご親切にどうも。delphiまでとはいきませんが
BCBのサイトも参考書が必要無いくらい充実してますね。

…て程でもないか(ワラ

何はともあれ頑張ります。
0297デフォルトの名無しさんNGNG
GUI を作りたいなら、
HSP
VB
Tcl/Tk
Java
VC++
の順で難しくなる。
ので、この順で勉強すればよい。
0298デフォルトの名無しさんNGNG
↑原始人ハッケソ!!!
0299デフォルトの名無しさんNGNG
>>297
元祖BC++もいれてくれYO。どこらへんなの?
0300デフォルトの名無しさんNGNG
IT Proの記事読んだよー
来年次のBCBとLinux版のBCBが出るのね
Kylixも2になるしJBuilderも6だし
0301デフォルトの名無しさんNGNG
TEditで改行キーが押されたかどうか取得したいんですが、
OnKeyDownかなんかで0x0D判定するしかないですか?
便利なイベントハンドラとかないですかね?
0302デフォルトの名無しさんNGNG
>>297
C++Builderが入ってないーっ
0303デフォルトの名無しさんNGNG
>>301
ためしてないからわかんないけど、
OnKeyDownかOnKeyPressで、Key==VK_RETURNすればいいんじゃねーの?
0304デフォルトの名無しさんNGNG
ネットを見ていたらTStringListの配列を動的に作成するという
ものを見つけ、便利そうなので試してみようと思いました。

初期化する時は
TStringList **strList = new TStringList*[i];
for(int j=0; j<i; l++) strList[j] = new TStringList;
とやるらしいのですが、

TStringList **strList;
**strList = new TStringList*[i];
for(int j=0; j<i; l++) strList[j] = new TStringList;

と、ばらしてやったらコンパイルが通りません。
なぜでしょう・・・・?

なんか、恥ずかしげな理由っぽいのでさげときます。
0305デフォルトの名無しさんNGNG
**strList = new TStringList*[i];
の先頭の*を外したりしてみたら?
0306デフォルトの名無しさんNGNG
typoなんだろけど、無限ループで参照不能なTStringListを作り続けとるな。
304のコード。
0307304NGNG
>>305

それは自分も思いついたので

TStringList **strList;
*strList = new TStringList*[i];
for(int j=0; j<i; j++) strList[j] = new TStringList;

としてみると

'TStringList * *' 型は 'TStringList *'型に変換できない

と怒られてしまいます。

>>306
おっしゃるとおり、Typoしました・・・

誤)for(int j=0; j<i; l++)
正)for(int j=0; j<i; j++)

ですね。
0308デフォルトの名無しさんNGNG
しゃあないな、教えたろ。

TStringList** strList;
*strList = reinterpret_cast<TStringList*>(new TStringList*[i]);
for(int j=0; j<i; j++) strList[j] = new TStringList;

これでコンパイル通る。
reinterpret_cast<T>は万能だ(w
■ このスレッドは過去ログ倉庫に格納されています