C++Builder相談室 Part21
C++Builderに関する質問・回答や議論等を行う相談室スレッド。 ※2008/07よりCodeGear(Borland IDE/DB部門)はBorlandからEmbarcadero(エンバカダロ)に移動しました 【前スレ】 C++Builder相談室 Part20 http://toro.2ch.net/test/read.cgi/tech/1280985719 過去スレ・関連サイトは>>2-7 あたり。 聞いているのは64ビットアプリが作れるかどうかと言うことです ♪∧,,∧ ♪∧,,∧・ ω・) ∧,,∧・ ω・) )っ (・ ω・) )っ__フ (っ )っ__フ(_/彡 ( __フ(_/彡 (_/彡♪ anonymity 匿名、名前を伏せたまま anonymous letter 匿名の手紙 visual studioで作成したlibファイルをそのままリンクできるでしょうか? 一昔前のC++ Builderではリンクできなかった記憶があります。 やっぱり出来ませんか、どうもありがとうございました。 VC向けのlibファイルは、C++Builderでは使えませんので、 implibなどを使って新しくdllファイルからBCB用のlibファイルを作成する implib.exeを使えばVC用のライブラリを取り込める 全面UTF-8コンポーネントっていうのはありますか? C++Builder2010を使用しています。 LabelまたはStatixTextを左に90度回転させる事は可能でしょうか? 方法又は代替え案等あればアドバイス御願いします。 自分で描画すればいい。フォントを90deg回転させてCreateFontし、Canvas->Font->Handleに代入する。 あとは普通にDrawTextとかでOK。指定座標の原点が左下になることに注意(普通は左上)。 さもなければそういうコンポーネントを探す。 C++ Builder 6からのバージョンアップ時の、 ソース修正の方法の説明はどこかにあるのでしょうか? BCB2010からXE3にしたところ、2010ではコンパイルできていたソースがコンパイルできなくなりました。 vclをつかっており、 #include <vcl\Windows.hpp>を開けません などのエラーで止まります。実際、vclのインクルードファイルがあるフォルダにエラーが 出る,windows.hpp, Forms.hpp,System.hppなどはありません。 どうしたら良いでしょうか? vcl\ のディレクトリ指定部分をなしにしてみれば? 未だにC++ Builder 5を使ってる人いる? ウニコードに対応していない開発ツールはもう使い物にならんよ >32 ありがとうございます。それで一応コンパイルはできましたが、実行させると浮動小数点の不正な操作という エラーがでて,ハングアップしてしまいます。 TImageで作ったもののサイズの取得のところでエラーがでるんですが、2010から何か変わったんでしょうか? バージョンがたかいほど、実行ファイルのサイズがおおきいんじゃないの? BCB2010をWindows7 64ビット環境で使用しています。 物理メモリは12GB,タスクマネージャでみると10GB程空いています。 (再起動した直後) この状態で2GBをGlobalAlloc()したのですが確保できません。 1.25GB位までは平気でした。 不明点は3点 1,BCB2010では32ビットアプリなので1Gちょっとが限界という事なのでしょうか? 2,XE3を使用して64ビットアプリにすれば2GB位は確保できますか? 3,現在の環境で2GB確保する事は可能でしょうか? アドバイス御願いします。 >>39 自分のビルドしているものが32bitか64bitかも区別つかないんじゃ 何を教えても無駄だと思うんだけど。 >>39 1)一般的にはユーザ領域は2GB。そこにプログラムとデータが入る。まぁ1GB取れれば上出来。 2)64bitアプリケーションを64bitOS(メモリを12GB搭載)で実行するなら2GBは問題ない。 3)"Windows 3GB"とかでggr。短い回答では"無理じゃないけど、考えないほうがいい"。 確認させて下さい。 1,C++Builder2010は32ビットアプリしか作成できない。 2,Windows7の64ビット環境で動かす時には32ビット互換モードで動作している。 3,64ビットアプリを作成するにはXE3(XE4?)を使用する。 私の理解は↑なのですがあってますか? >>44 様 有り難うございます。 XE4のトライアル版をインストールして2GBのGlobalAlloc()ができる事を確認できました。 最終手段としてXE4への移行を考えます。 BCB2010の手段としてアドレス空間の拡張というのをエンカバデロで見付けたので挑戦してみます。 ttp://docwiki.embarcadero.com/RADStudio/XE4/ja/%E3%83%A1%E3%83%A2%E3%83%AA_%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E7%A9%BA%E9%96%93%E3%82%92%E6%8B%A1%E5%BC%B5%E3%81%99%E3%82%8B のことならこれが"Windows 3GB"の話。実行環境でのサポート状況の確認をお忘れなく。可能なら さっさと64bitにしちゃったほうがコンパイラも新しいし、面倒が少ないかと。 パソコン機器もソフトも時代とともに大幅に安くなってるのに コンパイラの値段は逆行してるなぁ 安くて使い勝手の良いボーランド時代が懐かしい XE3について教えてください。 XE3 で 2010のを再構築すると [ILINK32 Warning] Warning: unknown heap name : 0x08000000 / 0x08000000 が出るのですが 困った。 一回でると治らない。 >>51 それ32bitのexe作ろうとすると出るよ 回避策はなし XE4で直ってる こういう商売やめて欲しいんだけどなあ >>52 ありがとうございました。 ダウンロードした XE2を重ねて入れたら XE3でリンカーエラーが出なくなりました。 理由はわかりません。 amazonでC++Builderで検索したら最新の解説本が2002年8月だった・・・ オワコンにもほどがあるだろ・・・ C# + P/Invokeで大抵の物は行けるからだろ C++BuilderはLLVM化されるまで全く変わってなかったし、出版業界も終わりかかってるからしょうがない ビョーン博士のC++本とC++Builderがあれば 愚にもつかん解説本なんぞイラン(の首都は依然テヘラン) C++Builder 5 Companion Tools CD Exclusive Object Windows Library Inprise/Borland http://cc.codegear.com/partners/bcb5/exclusive/object_windows_library/index.html This release of the Object Windows Library is based on the OWL 5.4 release and is denoted as OWL 5.5. It has been ported to Borland C++Builder 5 by Yura Bidus, author of OWLNExt. It includes source code and debug and release libraries of, OWL, BIDS and OCF. TSQLConnectionでMySQL使ってるんだけど 配布先で動かそうとすると Invalid aregなんとか:iPアドレス って言うエラーが出てしまうんだけどこれどうしたらいいの C++Builderの質問・相談は↓こちらへどうぞ くだすれC++Builder(超初心者用)その5 http://toro.2ch.net/test/read.cgi/tech/1334982374/ Windows8(x64)にBCB6入れてIDE起動したからOKかと思って半年ほど放置してたけど、 いざ必要になってビルドしたらリンクのところで固まって先に進まねぇ・・・orz XP機復活させるか・・・ すっかり忘れてたけど、 2014/01/16にWindows8でビルドしたソフトが1つだけあるのを思い出した。 そのあと設定は変更していないのだけど、今それを再度ビルドしたら同じ症状が出た。 もしかしてWindowsのアップデートか何かで仕様変わった? わかった! SetLAAとかいうのでメモリ4GBまで使えるフラグ立ててたのが原因だった。 bcb.exeのLargeAddressAwareを無効に戻したらビルドできました。 お騒がせしました。 それは盲点でした。新たなるTIPがまたココにひとつ生まれましたな。 Hyper-V結局使ってねーな 一度入れたけどやっぱしWindows8.1SP1上でWOW64を通した方が安心出来る C++BuilderがAndroidネイティブアプリ開発対応。Androidエミュレータ搭載、異なる画面サイズも自動レイアウト、モバイルBaaSにも対応。 http://www.publickey1.jp/blog/14/cbuilderandroid.html XE7ではC++11/C++14の機能はどれくらい使えるようになった? 何にも変わってないだろう 相変わらずバグも含めてそのままだ 初歩的な質問で申し訳ないが、これコンパイラってclangなんだよね? 昔からずっとclang? 昔からずっとBCCなんだが そもそもClangそんな昔からある訳じゃないし 64bit版は最初からClangだよ >>76 XE7なんだが、32Bitコンパイルで通るコードが64Bitコンパイルで通らないんだ。 テンプレート絡みの部分で解釈違うっぽいね そもそも出自が全然ちがうからそういうことも有り得るんだよな ホームページには同じコードで全部okとかC++11とかウソ書いてあるけど MYSQLで指定のテーブルCommentsをFireDacを使用して 取得する方法をお願いします。 ADMetaInfoQuery1->ObjectNameのMetaInfoKindや ADConnection1を試しましたがへたくそで2日間はまっております。 ヒントだけでも結構です。 さすがに解決してるよね? http://docwiki.embarcadero.com/RADStudio/XE8/ja/MySQL_ サーバーへの接続(FireDAC) http://docwiki.embarcadero.com/RADStudio/XE8/ja/FAQ (FireDAC) MySQL使うのってphpのほうが楽なのですかね。 XAMMPの新しいものからはMySQLは標準ではインストールされないらしいし今から覚えるのは微妙な気もしていますが。 Starterが来ても盛り上がらないのは何故なんだ? 登録が嫌ってことなのかな? 盛り上がらないのはマイナーすぎるからじゃないかな? 昔はパソコンショップのソフト売り場でパッケージを買ったけど 今はなんかワケワカランとこから買わなきゃならないんだな GNU GDB 7.2 snapshot - with rudimentary TDS (Turbo Debugger Symbol) format support (originally written by Troy Rollo) obtained from old mail list postings, and migrated to this snapshot with some corrections and slight enhancement. https://sourceforge.net/projects/gdbwtds/ パソコンを買い換えようと思ってるんだけど C++Builderの開発環境を移す巧い方法ないかね 再インストールするのメンドクサイし ファイルとレジストリを漏れなく移せればいいんだろうけど 最近のバージョンなら設定移行ツールなるものがあるけど A tool to convert Borland tds debug symbol files to Microsoft dbg symbol files. https://sourceforge.net/projects/tds2dbg/ DelphiTDS the purpose of this application is to display as much information as possible about debug info (TDS) https://github.com/tothpaul/Delphi/tree/master/DelphiTDS TreeViewのnodeのテキストを改行表示する方法ってありますでしょうか? 昔出来なくてハマって避けたけどまた要求が来て調べ直してる所です 今はBCB6ですが新しい奴で対応出来るなら移行しなければいけないレベルです よろしくお願いします XE8と10.2って結構違う? XE8で作ったのって10.2で普通にコンパイルしてもエラーでない? Zeta Debugger is a stand-alone source level debugger and code profiler for certain applications. http://downloads.fyxm.net/Zeta-Debugger-64970.html C++Builder10.2の無償のアレしれたんだけど コンパイルすると以下のエラーでる パーソナリティ "CPlusPlusBuilder.Personality" およびプラットフォーム "Win32" 用のコンパイラがないか使用できません。 これどやったらコンパイルできるようになりますか? C++Builder10.2でCanvas->TextWidthが実行時にアクセスエラーになるたすけて XE8では問題なく動作してます。10.2でコンパイルし実行すると出るようになった ちなみにCanvas->TextWidthで実行時エラーでるのはTChartのCanvas 試しにTBitmapのCanvas->TextWidthは問題なしだった BCB6からC++Builder 10.2 Tokyoに移行、試行錯誤して慣れるようにしているのですが 以前でしたらエディタ上でのブレークポイントを設定し変数の上にマウスカーソルを移動 させると変数の値を見られたのですが、C++Builder 10.2 Tokyoでは見られません。 そういった機能が無くなったのでしょうか?有るのでしたらどうしたらいいのか 教えてもらえないでしょうか。 お願いします。 >>99 もし Starter をお使いなら Starter では無効化されている機能です。 Delphi なら https://github.com/lynatan/DLight をインストールすれば 使えますが C++Builder だと使えたのか失念しました。 >>100 その通りStarterです。 DLightは私のスキルではインストール出来ませんでした。 ありがとうございました。 BCB6でRichEdhitのダブルバッファをtrueにすると、 RichEdhiのテキストが表示されないのはなぜでしょうか。 長文で失礼します。 今回Windows7からWindows10 proに機種変更をしてbuilder6をC:\borlandディレクトリにインストールしました。 これ自体はすんなりインストールできたのですが、 http://www.gesource.jp/programming/bcb/indy.html を参考にして Indy_9_00_17_srcをインストールしたのですが、 「コンポーネント」-「パッケージのインストール」の所で 「パッケージ C:\borland\Bin\dclIndy60.bpl を読み込めません。 指定されたモジュールが見つかりません。」 と表示されインストールできません。 以前のWindows7では上記のUrlを参考に、すんなりインストールできたのですが。 どなたか解決法を教えてもらえませんでしょうか? また、こうしたらWindows10にbuilder6をインストールしかつIndy_9_00_17を インストールできるよ、と教えてもらえませんでしょうか。 新しいバージョンにすればいいのでしょうが、builder6で作ったソフトのメンテと やはりこのバージョンの方が使い慣れているので愛用していきたいので よろしくお願いします。 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 GUIM7 C++Builder10.2.3でカスタムスタイルを適用すると再描画時にちらつきが発生してしまいますが これを抑えるのにはどうしたらいいのでしょうか? Direct2DCanvasやDoubleBufferd=Enabledにしても解決しませんでした。 自己解決しました。 どうもプロパティの値がうまく反映されていなかったらしく、 FormのDoubleBufferd=Enabledにして再構築したらちらつかなくなりました。 1年間の有効期間が切れたら新しいライセンスキーを発行か 以降は有償になったりして rad c++ builderでファイルの入出力やドラッグ&ドロップ 簡単なdb操作は出来る様になったけど、もう一歩踏み出したいです 福岡当たりで勉強会みたいなのはないでしょうか? 大阪、東京でも有るなら飛行機使っていきたいです 「ゆるふぁい」というのを毎月東京でやっているみたいだけども・・・。 BCB5とWindowsXpの組み合わせでは問題がなかったHintColorの色指定が C++Builder10.2.3 CEをWindows10上で動かすと無視されてしまう。 BaloonHintとかでは試していないけど、細かいところの互換性に問題が残っていそうですね。 C++Builder 10.2.3でソースからコンパイルした結果なんですが まぁ、大した問題じゃないから C++Builder 10 Seattleですが、 TEdit.MaxLengthの『アプリケーションがテーマを使用している場合、MaxLength の単位は、バイトではなく文字です。 』ってどういう意味なんでしょうか? 1文字が何バイト使うかは、文字コードだったり文字セットだったりでいろいろ違う という話かしら それとも、テーマを使用とはどういう意味なのか という話かしら >>119 >テーマを使用とはどういう意味なのか こちらの方になります ランタイムテーマをOFFにしても相変わらず文字数なので・・・ チェック外しても治らない場合は、リソースファイル削除して作り直すとかtips昔無かったっけ? UnicodeString us1; us1.c_str() UnicodeStringの文字列をc_str()で取り出すとwchar_t*型の文字列が返されるのね そして UTF8String utf8_1(us1); utf8_1.c_str() UTF8Stringにしてからc_str()で取り出すとchar *型のUTF-8の文字列になるのね Windowsで10.1 Startar使ってるのですが bcc32だとu8""が使えず、UTF-8指定の文字列リテラルが使えないのね bcc32cだとu8""は使えはするがSJISになってしまうようだ utf-8を無理に使わずにwchar_t*型のUnicode文字列を使うほうが楽みたいね C++ならstd::stringよりもstd::wstringを使った方が楽そう UnicodeStringからwchar_t*型のUnicode文字列はc_str()で取り出せるし、 _D("hogehoge") のように_D()で囲むとwchar_t*型のUnicode文字列のリテラルが生成されるようだ その上でソースコードをUTF-8にしておくとSJISでは表現できない文字も普通に使える模様 C++Builder10.2でTChart使っているのですが マウスドラッグでグラフを拡大した時に 拡大したX軸とY軸のMinとMaxを知るにはどうしたらいいですか? マウスのサイドボタン押されたの認識できるイベントおしエロ >>125 WM_MBUTTONDOWN WM_MBUTTONDBLCLK WM_MBUTTONUP WM_XBUTTONDOWN WM_XBUTTONDBLCLK WM_XBUTTONUP あたり? https://github.com/katahiromz/vkeycheck わからなかったらこれもチェックしてみて。 TIdTCPServer + TIdTCPClientで数MBの長大な文字列を送受信する場合はどうしたらいいのでしょうか? Client(送信)側: TIdBytes buf; buf = TEncoding::UTF8->GetBytes(SendStr); IdClient->IOHandler->Write(buf, buf.Length); Server(受信)側: void __fastcall TForm1::IdTCPServerExecute(TIdContext *AContext) { TIdBytes buf; AContext->Connection->IOHandler->ReadBytes(buf, -1); RecvStr = TEncoding::UTF8->GetString(buf); } これだと最初の32768バイトだけ受信されている状態でした。 ネットワーク関係は 相手が送った量をそのまま受け取れると仮定するのが間違い 分割されて複数になるかもしれないし 結合されてまとめて送られてくるかもしれない それを大前提として、データはもう送られてこないとわかるまで 何回も受信するのが当然 >>128 ありがとうございます。 とりあえずこんな感じにしたらできました。 void __fastcall TForm1::IdTCPServerExecute(TIdContext *AContext) { TIdBytes buf; if (!AContext->IOHandler->InputBufferIsEmpty()) { buf.Length = 0; while(1) { AContext->Connection->IOHandler->CheckForDataOnSource(100); if (!AContext->IOHandler->InputBufferIsEmpty()) { break; } AContext->Connection->IOHandler->ReadBytes(buf, -1, true); } RecvStr = TEncoding::UTF8->GetString(buf); } } C++Builder2007をWin10にインスコしようとしたら途中でエラー出てインスコできないんだけど 誰か助けて >>130 まず、どこにインストールしようとしているのかとか インストーラを管理者権限で実行しているのかとか 2007年だとVistaか UAC出始めた時だしProgram Files(x86)にはインストールせず CドライブにProgramsみたいなフォルダ作ってそこにインストールしたほうがいいよ >>131 返事遅れてすみません インスコ先はインストーラーのデフォルトドライブ(C)とデフォパスです 教えてもらったように、管理者権限で別フォルダにインスコしてみます ありがとうございます ダメでした、インスコ先フォルダ指定する前にエラー出てました エラー内容 .NET Frameworks 2.0(x64)をインストールできませんでした Windows updateを利用して手動で更新せよと書いてあるので 全て更新したのですがこのエラーきえません。 このあとXE4とXE8と10もインスコ予定なのですが、これら全てエラーでますかね? これどやったらいいのだろうか・・・ Frameworks Service pack2をダウンロードしてインスコしてから 2007のインスコしたらうまくいきました。 お騒がせしました Builder10でPageControlのTabSheetの背景変える方法教えてくださいよ 以前のBuilderはグレーだったのにいつからか背景白になって糞見づらいので こういう感じのをC++Builderで表現するにはどうしたらいいのでしょうか? function TCustomListView.CreateListItem: TListItem; var LClass: TListItemClass; begin LClass := TListItem; if Assigned(FOnCreateItemClass) then FOnCreateItemClass(Self, LClass); Result := LClass.Create(Items); end; C++Builer10.2でTAnimate動かないんだけど どうしたら動くのこれ。 以前のはAction=trueだけで動いたのに何このバグ ヤフオクでC++Builder6とC++ Builder 2009 Professional DELPHI RAD STUDIO が出品されてます。 OS Windows10で使いたいのですがどちらが良いですか? 中古品だとエンバカ登録のメールアドレスがないと使用許諾コードの入手ができないのでは? 前ユーザが登録したメールアドレスじゃなくても 自分でメアドをエンバカに登録して、それで認証通せばいいだけじゃない? たぶん、この使用許諾コードは他のユーザが使用しています、とか表示されると思ったけど そこで改めてエンバカに事情を説明すれば、認証通してくれるかもしれない(経験ないから分からない) PC買い替えで同時インストール数(だっけ?)超えた場合はエンバカに連絡すれば認証通してくれるよね それと同じで エンバカが中古販売を認めているのならだけどね、認めてなかった場場合最悪ライセンス料金請求(新規購入して)されるかもしれんけど >>138 です。 前利用者が登録してなかったのか、メールアドレスも登録できました。 (インストールまでエラーが三個ほど出た。) 2枚CDが入ってたけど、1枚しか使わないんでしょうか。 あとavastウイルススキャンがデバッグの時いちいち動作して、デバッグできないです。 >>143 本体インストールは一枚だけ もう一枚はオプション的なアプリケーションとかだったと思うけど自分はインストールしていない >avastウイルススキャンがデバッグの時いちいち動作して avast使ってないから詳細は答えられないけど、 たいていavast側に除外する設定があるはずなのでググるなりなんなりして設定してみて あとインストールおめ ありがとうございます。 高額の買い物だったので動作してくれてあんしんしました。 それと、以前どこかで見かけたのですが、C++98 とか C++ 11とか、コンパイラ(visual studioとかC++ builder)の対応表、ご存じないですか? Firefoxのお気に入りがすべて消えてしまってわからなくなりました。 TChartで現在表示されているY軸の最大値と最小値を取る方法教えて Chart1->MaxYValue だと現在表示されているのではなくてY軸の最大値だったので C++Builer10.2で256x256のアイコンをアプリケーションのアイコンに登録しようとすると 「アイコンを設定できません。システムリソース不足です」とエラーが出るのですが これ登録する方法教えてくだあし。 それとも64x64が限界ですか? >>148 いえ、ありがとうございます。 色々調べたらどうもアイコンが原因で読めなかったみたいです。 アイコンエディタで開いて保存してから読み込んだら正常に読むことができました。 Win10 2009でデバッグしようとしたらフォームを閉じた後 bds.exe - bordbk120N.dll Assertion failure:"(!"SetThreadContext failed")" in ..win32src\thread32.cpp at line 434 Continue exection? と聞かれてYESでもNOでも再起動するしかなかった。 ググったらdllのバイナリ書き換える方法が載ってた。 ひやひやしたけどなんとかなった。 なんでこんなバグ直さないのかな? C++Builder 10.4 hotfix3 でデバッグ実行時 「〇〇〇.exe エントリポイントが見つかりません」 「プロシージャエントリポイントILfreeがダイナミックライブラリ〇〇〇.exe から見つかりませんでした。」 というエラーが出ます。 ilink32ではエラーが出ておらず、再ビルドするとエラーが消えて暫くすると再発します。 何か解決方法はないでしょうか? onidleの使い方がよくわかりません。 助けてエロい人 Builder2009で質問です。 OnIdleの使い方がよくわかりません。 http://docwiki.embarcadero.com/Libraries/Sydney/ja/Vcl.Forms.TApplication.OnIdle アプリケーションがアイドル状態になった際に発生します。 OnIdle イベント ハンドラを記述すると、アプリケーションがアイドル状態になった際に、特別な処理を実行させることができます。 アプリケーションは、コードを処理していないときに、アイドル状態になります。たとえば、アプリケーションは、ユーザーからの入力を待っている際になどアイドル状態になります。 OnIdle は、アプリケーションがアイドル状態に移る際に、一度だけ呼び出されます。Done パラメータが false に設定されない限り、継続して呼び出されることはありません。Done を false に設定したアプリケーションは、過度の CPU 時間が消費されるため、システム全体のパフォーマンスに影響がでます。 うーん。 読んだんですが実例コードないから、よくわからないんですよ。 使い方がよくわからないから助けて、と言うのがよくわからない 使いもしない機能の使い方を知らなくても困らないのでは? TActionの更新などはOnIdle イベント 内ではないけど、OnIdle イベント が呼ばれるプロシージャで行われている 直ちに更新する必要があるわけじゃないけど定期的に更新する必要がある場合に使う感じかね 同じ用途でTTimerなんかもあるけど、TTimerの場合アプリがなんか他のメッセージ処理していても時間が来れば呼ばれるのに対して OnIdleは他のメッセージ処理をしている間は呼ばれない ユーザの操作(入力)に対してアプリが応答、その最後に状態を更新するなんてのが使い方としては適正かなと思う ただ場合によってはいつまでたても呼ばれない可能性もあるのと OnIdleに時間のかかる処理を入れるとアプリの応答性が悪くなるので注意が必要 >>158 一秒間60フレーム(古いかな)とかを実現するのにタイマーより(精度が)良いのかと思ってます。 使ってみたいだけで確かに困ってはいないです。 >>159 精度はないよ 言った通り、アプリのメッセージループでウインドウメッセージが空だった時に実行される つまりずっとメッセージが届けばいつまでたっても実行されない可能性がある 一定時間に動作することを期待するのは無理 入力待ちのように「空いた時間に処理をさせる」ための仕組み .net用に作られたCOMコンポーネントをbuilderからアクセスできる? 調べてもbuilderからCOMは作れるってくらいしか見つからないんだけど。 C++Builder10.4.2でSDL2を使用したいのですが .includeの段階で躓いています。 includeとlibのパスは何処を指定するといいのでしょうか? 最近のバージョン使ってる人ってどのくらいいる? 10.4.2でWin64使ってるけど品質がクソ過ぎてイヤになってくる 10年前のXEから付いてくるCodeSiteを初めて使ったんだけど、 すっげー便利だな 10年間も知らずにテキストのログファイルにシコシコ出してたのが悔しいのう 10.4.2使ってるよ デバッガがダメダメなのもそうだけど、TwineCompileを有効にすると落ちやすいのと ヘッダを書き換えるとクリーンアップせざるを得ないのが悲しい サードパーティーコンポーネントのインストーラが残念なのも何とかして欲しい TwinCompileは何ともないな GetItのフリーのコンポーネントはC++向けの設定をちゃんとやってくれない物が多いね 前のバージョンではそんなこと無かったんだけど、10.4ではTurboPack系のコンポーネントは全滅してる Win64 C++では実行時パッケージを使わないとデバッグ中の例外でブレークしない(直ったことになってる) TwineCompile何ともないのか。じゃあこちらの環境依存かな こちらは逆に10.4.2にしてからTurboPack系が良くなった 実行時パッケージをリンクしない様にするとトラブル多いね ブレークが効かないのはこちらも困ってる ステップ実行もおかしくなるし、この辺は早急に直して欲しいね。 後、エディタの「定義の検索」が全く効かないのだが、これもおま環なのだろうか エディタの支援機能はC++では2009の頃から使い物にならない TurboPack系は10.4.2でC++のライブラリパスの設定が漏れてて静的リンクできない >>169 普段から実行時パッケージ使ってるの? 俺は使わない主義だけど >>170 すまん、今日入れ直したらできなくなった 前は自分でパス通してたのかもしれん BPLはVCランタイムと違ってどの環境にも入っている訳じゃないから 実行時パッケージは通常使わないね でもFireMonkeyだと10MB超えるから悩ましいところ 仕方ないからデバッグビルドでは実行時パッケージ有りにしてる 今のプロジェクトは16MBにもなる 客がなんか言ってきたら、EXCELは22MBだよって言おうと思ってる お前のソフトはEXCELほどの機能があるのか?と言われると困るけどw 10.4.2入れ直したらエクスプローラからのドラッグ&ドロップで WM_DROPFILESメッセージが飛ばなくなってるな 昔からある BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_DROPFILES, TWMDropFiles, WMDropFiles) END_MESSAGE_MAP(TForm) でもイベントハンドラに飛ばない 過去できていたプロジェクトでも再構築すると同症状になるが、これはおま環なんだろうか >>173 俺の所ではちゃんと動く IDEは確かにクソだが出来上がるコードについての問題には遭遇した事は無い DragAcceptFiles()を呼んでないか、 フォームの別の階層にDispatch()があってそれが呼ばれてるか、ではないか? 原因はVMWare workstation playerのVMWare Toolsで、再インストールしたら治った 後出しで申し訳ないが、VMにインストールしてあるんだよ 最近になってやっとFiremonkeyへ移行するべく動いているのだが グラフィック周りはこちらの方がいいね 画像をファイルから読み込むだけでもパフォーマンス差があるのは驚いた SynEditのようなVCLしかないコンポーネントもそろそろこちらをサポートしてくれないかね sqlite3.dll を使ってみようと思ったんだが まずは簡単にsqlite3_openとsqlite3_closeだけを使ってみるのが目標 implib.exe 使って同梱のdefファイルからlibを生成 で、libをプロジェクトに追加したんだけど [リンカ エラー] 外部シンボル '_sqlite3_open' が未解決(C:\CBUILDER5\TEST\UNIT1.OBJ が参照) [リンカ エラー] 外部シンボル '_sqlite3_close' が未解決(C:\CBUILDER5\TEST\UNIT1.OBJ が参照) これが出る 他にしなきゃいけないことってなんだろうか? 単にシンボル名が違うんじゃね。tdumpでリスト出してみるとか。 まさかextern "C"忘れてるってのはないよな。 インクルードヘッダーファイルの方 もともとextern "C" { } で括られてたのもあるけど 括るのはダメかもと思って関数のほうにextern "C" 付けてみたけどダメだった implib使う方法でダメならコッチは ttp://docwiki.embarcadero.com/RADStudio/Sydney/ja/チュートリアル:VCL_アプリケーションから_SQLite_データベースに接続する とりあえず、implib -? してオプションの説明の意味を考えてみたかから どうもありがとうございました 解決しました 本体側のアンダースコアを消すことばかり考えていてインポートライブラリ側にアンダースコアをつけると言うことを失念していました リンカの出すエラーメッセージ見りゃわかるけど UNIT1が参照しようとしているシンボル名にはおかしいところは無いからな ならばimplibで作ったシンボル名が何か違うはずって気づく そしてimplibのオプションを確認するところに行き着く まあ冷静に考えましょってことで C++ builder 2009 pro使いこなしたくて、C++ builder5 learningについてた 開発者ガイド読んでるんですが、半分もわからない。 読解力ないのかなぁ。 そのC++Builder5は半分以上理解してたのかな 今ならネットに転がっている情報を拾う方がいいような気がする 特にUnicode周りは慣れておくといいよ 勉強不足もあって多言語対応で結構躓いた そうですね。2009から文字コード変わってるんですよね。 Ansistringのメソッドとかももう一度覚えたいから5をいじってます。 (開発者ガイドよりヘルプのほうが勉強になります) 今は2009で C++ BuilderでWindowsゲームを作ろうって本 使ってます。 DirectXなんか全然使わないのですが色々と勉強になります。 Comunity入れるまではbprファイルを自動変換してくれてたのですが、 Javaがらみっぽいエラーが出て変換できなくなりました。 5を使うってどこにも書いてないんだが 2009を使いこなしたいってあって、Community Editionもインストール済みみたいだけど、 だったらCommunity Editionだけで掘り下げればいいと思うけど そうですね。 5は使わないでいいですね。 5はヘルプだけ使います。 あと、頭は悪いと思います。 そんな卑下しなくても、5から使っているなら突き進めばいいのでは BCB5からBCB6に乗り換えのメリットが感じられなくて無理やり WinXP上のBCB5で「Win10で動作させるUSB-IO2.0(AKI)を制御するソフト」を 作ったりもしたけど、ECB10への移行は大した苦労はなかった AnsiStringとUnicodeStringの変換は、慣れればいいし >>190 ありがとうございます。 また質問なのですがHotKeyがヘルプ見てもよくわかりません。 どういうものなのでしょうか。 ここで聞くべきか分からないんだが質問。C++Builder2009 typedef std::pair<UnicodeString,int> TPair; TPair P0[3] = { TPair(L"ABCDEF",20) , TPair2(L"JKLJM",40) , TPair2(L"BMNJKLOI",60) }; __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { TPair P1[3] = { TPair(L"ABCDEF",20) , TPair2(L"JKLJM",40) , TPair2(L"BMNJKLOI",60) }; } //--------------------------------------------------------------------------- こんな感じのコードとしてP1のほうはちゃんと初期化されるんだけど P0[0]のintが正しく初期化されない P[0].second=36974812 ってなる ただしstd::pair<int,int>やstd::pair<int,UnicodeString>だと大丈夫 何が原因なのかわかりますか? 直し忘れた TPair P0[3] = { TPair(L"ABCDEF",20) , TPair(L"JKLJM",40) , TPair(L"BMNJKLOI",60) }; でお願いします Qtが商用に傾いてきたからCommunity Editionでもと思ったが、 年間売り上げ55万円までって・・・実質商用利用出来ないやん 日本で現行版使ってるのって、俺以外にいるのかしら? ってくらい話題にあがらないな 使ってる人は未だに5とか6使ってる感じ 縺セ縺菴ソ縺」縺ヲ繧九h縲ょョカ縺ィ莨夂、セ縺ォ1縺、縺壹▽縲 莨夂、セ縺ッSymantecEP縺悟�縺」縺ヲ縺縺ヲ 菴懈�縺励◆繧「繝励Μ縺御ク肴э縺ォ豸医&繧後◆繧翫@縺ヲ繧仇 縺薙�繧ヲ繧」繝ォ繧ケ縺ィ隱、隱崎ュ倥☆繧句撫鬘御ス輔→縺九@縺ヲ谺イ縺励>繝サ繝サ繝サ 何故か文字化けしてる まだ使ってるよ。家と会社に1つずつ。 困っている事といえば SymantecEPがコレで生成した実行ファイルを ウィルスと誤認する事がある位かねぇ 10.4つかってるよ。メイクがまともに動かないのはなんでだろうねw a.h修正してもa.cppしかコンパイルしない。他のa.hをインクルードしてるcppは無視。 その動作は、「普通の」makeなら普通だろ a.cppがa.hに依存しているというのは、Makefile内に依存ルールが書いてなければmakeにはわからない borlandは.objのコメントを使って依存関係をobjに埋め込んで全てのファイルの更新を確認する機能をつけたけどね .autodependってやつ それが無くなってるかoffになってるかってことじゃね 11のTwineCompile早よクレ 後これだけあれば移行できる 本当に誰も買ってないと思うよ 俺は2009から使ってるけど 質問です。 TListBoxで最初から、二番目の項目を選択状態にしておく方法がありますか? ListBox1->Selected[1]=true; すいません、できました。 M$に開発者を刈り取られても頑張っているから応援したいが、 高杉てとても手が出ないよ コミュニティ版はエラーが出て落とせないし その通りだよ 20万近く払って買った開発ツールのヘルプが前バージョンのまま しかも報告されたissueは、won't fixでクローズだぜ ホントにupdate2でも直ってない コソッとファイルだけリリースして、自分で上書きしてレジストリを書換よ、だと 確かに高いですね。 C++Builder6 pro ヤフオクで28000円位で二件見つけたけど全然売れてない。 さすがに6は古いのかな。 >>212 同感です。 とても良いツールで価値があるのは分かりますが、もう少し個人が手を出せる価格に下げてもらわなければ、どんどんユーザーが離れてしまうことが気がかりです。 以前CB使ってたけどVCに乗り換えたと言う話は残念ですが、たまに聞きます。 自分は会社でエンタープライズ版使っていましたが自分のPCにはCommunity版です。 誰でもいいですから、Lazarus C++Builder版を仕上げて下さい。 おねがいします。 C/C++おぼえた後に他の言語おぼえるのって苦しいです。 自分はあとはPHPでお腹いっぱい。 PythonもやるけどアプリはまだC++Builderだなぁ 逆にWeb系は全然やる機会が無い >>211 GetItがあるから頻繁にBug fixのアップデートしてくれるのかと思ってたら Hot fixが1、2度出るだけであとは次のバージョンが出るまでお預けだもんな Visual Studioの更新頻度と比べるとしょぼい 漫☆画太郎先生に土下座してパイゾーンって作品を描いてもらっては。 ティム・クックCEOとのランチには5,500円ではなく5,500万円以上必要! Appleのティム・クックCEOとのランチをする権利のチャリティーオークションが終了しました。 結果は51,500ドル以上(約5,500万円以上)で落札されたそうです。 このオークション、落札者にはティム・クックCEOとランチができる権利とAppleイベントの 基調講演に参加できるVIPパス2枚がついてきます。 2013年は約6,200万円、2014年は約3,300万円、2015年は約2,400万円で落札されていました。 今回は約5,500万円なので高値で落札されていますね。 しかしお高いランチ代。いったい誰が落札したんでしょうか。 質問です。 https://www.gesource.jp/programming/bcb/116.html ここを参考にしたのですが、 D&DするファイルがL"C:\\test.txt"なら動作しますが、 L"C:\\sample\\test.txt"にするとうまく動作しません。 どうやったら動きますか。 TConboBoxで右クリックしてもOnContextPopupイベントが発生しません。 TEditでは正常にOnContextPopupが発生します。 TConboBoxはOnContextPopupを発生させるためにプロパティ等の設定がありますか?バグですか? C++Builder10.2 >>221 もうそのバージョンは使用していないので正確には分かりませんが 11では問題無いのでバグではないでしょうか? 今更なんだけどC++Builder6 コンポーネント活用ガイド&実践プログラミング vol.1読んでます。 Cしか知らなくってわからなくて放置してたけど C++を覚えてはまった。 今は2009使ってるけど参考になる。 ただデータベースとかはバージョンにより使えなさそう。 トレイアイコンとかも、簡単に色々できてすごい。最新版10万以内くらいなら買うのにな。 商用じゃなければCommunity版でもいいのだろうけどね。 俺も長らくBCB6で作ってたが、Unicode対応に迫られて10.2へアップグレードしたよ。 この時はまだそんなに高額じゃなかったと思うんだが・・・今の価格は高過ぎるね。 フォルダ選択ダイアログって今でもwin3.1のやつ? すいません 試せばわかることでしょうけど、 TImageにTBitmapをストレッチドロー って拡大も縮小もオーケーですか? VCでCSVエクスポートした時何か随分苦労した記憶ありますが、BCだとコンポーネント数個配置して数行のコードでできたのにはビックリです。 インポートならともかく、出力で苦労することなんてあるのか? C++Builder Community EditionでC++Builderの普及のためyoutubeにハウツーなんかをup loadすることはエンバカさんに対し違法になるかなー。こんなにいい開発環境なのに、全く個人のyoutubeが無いのには何かしらの規制に引っかかるから? 誰も使ってないからだよ、俺以外には 普及のためにとか、奇麗事言うなら自分でやれよ VCLの仕組みは素晴らしいが、商用のIDEとしては最低最悪のクソだ キーのカスタマイズは出来ない フリーカーソル強制 支援機能は応答しない 定義の参照も効かない 64bitデバッガはローカル変数の値が最新じゃない時がある Delphiと併せて毎年10万も取られるのに >>231 きれいごと言うつもりはないし、自分も以前のエンタ使っているけど、とにかく高くてverupできないので、奇跡的にバズってくれれば少しは売れて安く ならんもんかなーと思った次第でございます。Turbo Cからのユーザーですがこんな素晴らしいビジュアルプログラミング開発環境があるのに高いせいで世間に普及しないのが余りにも残念でなりません。 >>233 俺はDelphiは2から、C++は2009から使ってるが 今の品質ではとても人には勧められん 今でも生き残ってるのが不思議でしょうがない Delphiはロシアで妙に多く使われてるらしいが、この情勢で締め出し食らうとエンバカの経営に響くだろうな FMXのTMemoはそのままだとTABが入力できない仕様も何とかして欲しい >>232 そんなんだからアドオンがあるんじゃん 使ってスッキリしようぜ c++builder2009update3を使ってます。ただhotfix3がダウンロードできないみたいです。 ちゃんと最新になってるのでしょうか? あと、バカ丸出しの質問なのですが、 UnicodeStringとwchar_tは同じなのでしょうか。 1文字が何バイトかもわかりません。 Delphi Handbook 2009に詳しく書かれてる 今でも手にはいるかどうか分からんが あと、Unicode Whitepaperみたいなのが公式にあった ありがとうございます。 もうちょっと自分で調べてみます。 質問です。 UbuntuにC++B uilder6 proとC++Builder2009を入れようとしたのですが、それぞれdisc2を読んでくれなかったり、AVIが読み込めないみたいなエラーが出て駄目でした。 まあ、win10で作ったexeをwine6.0で動かせば済む話なんですけど、どなたかうまくインストールできた方いらっしゃいますか? 質問です。 C++builder6をUbuntuで使おうとするとdisc2のファイルが見つからないみたいな警告が出て、フォーム以外の部品が使えず、2009の場合はAVIが再生できないみたいなエラーが出て駄目でした。 まあ、win10でexeを作ってwine6.0で動かせばいいと思うのですが、うまくUbuntuにインストールできた方いらっしゃいますでしょうか? そもそもUbuntuというかLinuxに直で入れれるの? wine使ってるんならVirtualBoxとかVMwareとかで試した? 質問です。 C++builder5では 例えばclassと入力した後、CTRL+Jで登録しておいたコードが入力されたと思うのですが、2009でも登録できるのでしょうか? case : break; とかを登録したいのです。 >>247 出来るよ C++Builder5の時と若干仕様が変わってるけど 2009ではコードテンプレートって名前で C:\Program Files (x86)\CodeGear\RAD Studio\6.0\ObjRepos\Code_Templates\c (Program Files (x86)は32ビットアプリケーションのプログラムフォルダ) 上記フォルダにxmlファイルとして登録されている >>248 ありがとうございます。 やってみます。 C++Builder2009で質問です。 付属のtasmでMMXやSSEはコンパイル可能ですか? >>252 C++Builder2009 Proもってますが馬鹿なので「tasmとかMMXやSSEなんてのがよくわかりません >>254 僕もそれほど詳しくないのですが、CPUの拡張命令セットのことです。 tasm(アセンブラ)で使用します(基本命令は確か32bitはx86、64bitはx64)。 MMX SSE SSE2 SSE3 SSE4 3DNow とかがあるようでCPU-Zという フリーソフトでどういう命令がそのPCで動作するか確認できます。 11.3は10.x以降で一番マシな気がする ところでSysToolsコンポーネントをGetItからインストールできてる人居る? なんかいつも失敗してるんだが 10.2でバッチコンパイル使用すると文字化けするんだが、、、 Winnyの映画版もC++Builderで造ってるよ 材料造って3Dプリンター造ってセット造って・・・ 人間以外全部C++Builderで造ったプログラムから造られている GetItはDelphiばかりでC++Builderのヤル気が感じられないのだが GeiItでDelphiにしか提供されていないものに依存するC++Builderのアプリでも作ってるの? C++Builderはマイナーだから仕方がない C++で開発する人は最初からVSだろ VS2022のC++ってC++Builderみたくコンポーネントをぽちぽち貼りながら作れるようになったん? まったく見てなくて素で知らんから教えて VC++のGUI周りは相変わらずだよ ただその分コードエディタが優れてるね C++Builderのグラフィック周りで問題なのは各色8bitまでしか対応していない事 おかげで48bitカラーのPNG画像がそのまま表示できない 皆どうしているのだろうか? 無料のコミュニティエディションって新しいindy10使えますか じゃなくて、コンポーネントとして最初から登録されてますか? c++builderの学習ってどうすれば良いですかね。 本も全然ないし、ネットにも全く個人で上げている情報がないですよね。 そもそも初心者向けではない 上級者が楽をするためのツール 通勤電車の中の求人広告でリモートワークって書いてるとこが メモリーリークに見えてしまった俺は廃人だ 2009使っているけどヘルプシステムであるdexplore.exeがウインドウ閉じてもプロセス残り続ける問題なんとかならんかな 昔は有志による対策パッチみたいなのあったらしいけど Windowsをシャットダウンか再起動させるときこいつが残っていると実行中のプロセスがってメッセージが出る その時にプロセス名が出れば強制的に続行すればいいんだけどアイコンだけしか表示されないからその都度タスクマネージャーから確認してる ttps://github.com/ahausladen/DDevExtensions >>279 ありがとうございました おかげで邪魔なdexplore.exeがぬっ殺されて快適な2009ライフを送ることが出来るようになりました 感謝いたします あけましておめでとうございます。 今年もよろしくお願いします。 明けましておめでとうございます。 まだこれで食っていけるのは嬉しい限り。 質問 TForm1と言うメインフォームがある TForm2と言う二つ目のフォームがある TForm2はモーダルじゃないダイアログな感じで使うのでFormStyleにはfsStayOnTopを指定する(呼び出しはShow) 通常の使い方ならこれで常にTForm1の上にTForm2が来るからいいんだけど この状態でTForm2からTOpenDialogを呼び出すとそのダイアログ(TOpenDialog)がTForm2の下に隠れてしまうのです ダイアログ(TOpenDialog)を表示するときだけTForm2のfsStayOnTopを解除(fsNormalに設定)することもしたんだけど 今度はダイアログ(TOpenDialog)表示のタイミングでTForm2がTForm1の下に隠れてしまう SetWindowPosでオーダーを変えられるような感じだったんだけど呼び出しタイミングの問題かうまく行かず 常にTForm1が一番下でダイアログ(TOpenDialog)が一番上に来るようにするにはどうしたらいいですか? 最近VisualC#&C++の人達と共同作業しているが あちらはC#とC++どちらで組むかとか、C++なら外注に出すとかそんな話ばかりで全然進まない あれで本当に開発効率良いのかね? read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる