C++Builder相談室 Part19
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/08/01(金) 16:30:32※2008/07よりCodeGear(Borland IDE/DB部門)はBorlandからEmbarcaderoに移動しました
【前スレ】
C++Builder相談室 Part18
http://pc11.2ch.net/test/read.cgi/tech/1188607282/
過去スレ・関連サイトは>>2-7あたり。
※Borland C++ Compiler 5.5.1についての質問は以下のスレへ
タダで使えるBorland C++ Part5
http://pc11.2ch.net/test/read.cgi/tech/1135127048/
※BDS(Borland Developer Studio)の総合スレはこちら
Borland Developer Studio 2006 No.13
http://pc11.2ch.net/test/read.cgi/tech/1175861395/
※CodeGear(Borland/Embarcadero)関連はこちら
【CodeGear】Embarcaderoオッチャ その10
http://pc11.2ch.net/test/read.cgi/tech/1216250111/
<関連スレ>
くだすれC++Builder(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1171219191/
[Tips]Borland C++Builder ちょいテク No.01
http://pc11.2ch.net/test/read.cgi/tech/1154580209/
【Delphi】 Indyコンポーネント 【C++Builder】
http://pc8.2ch.net/test/read.cgi/tech/1093654251/
0032デフォルトの名無しさん
2008/08/14(木) 21:14:56それを知ってなにをしたいのか書けば代案とか出せるんだが。
コマンドラインスイッチやカレントディレクトリで代用とかはできんの?
0033デフォルトの名無しさん
2008/08/16(土) 14:06:49返信ありがとうございます。
参考にさせて頂き、コマンドラインパラメータで代用しました。
作ったソフト(RandExec.exe)は以下のような物です。
例えば、「RandExec.exe C:\Data\!*.wav」として実行すると、
「C:\Data\」ディレクトリにある、拡張子「wav」のファイルのうち、
先頭に「!」が付いている名前のファイルをランダムで1つ実行します。
FindFirst()のお陰でワイルドカード文字が使えるのですが、
残念ながら、「RandExec.exe C:\*\start.wav」のように、
パスの途中にはワイルドカード文字を使えないようです。
これを実現したいのですが、どういう手段が考えられるでしょうか。
適したコンポーネントはご存じないでしょうか。
0034デフォルトの名無しさん
2008/08/16(土) 14:28:08普通に実装したら?
まず、ワイルドカード (* ?) を探して、その手前の \ を探す、
ワイルドカードの次の \ を探す、\ で挟まれてればそれはフォルダのワイルドカード、
最初の \ の手前までのフォルダで FindFirst して上のワイルドカードと一致するか検索、
ってやれば簡単にできそう。
0035デフォルトの名無しさん
2008/08/16(土) 16:22:51strtokとかでC: Data sound snd* snd*.wavに分割
先頭から次の要素接続>FindFirst/FindNextで複数マッチした場合はその中からランダムに選択、でまた次の要素接続ってやってけば簡単だろ
0036デフォルトの名無しさん
2008/08/20(水) 14:06:58マニフェスト記述例やデータ保存箇所のルールなどBCBやDelphiで
作成したプログラムに対しても参考になるような情報が書いてある
書籍って何か無いでしょうか?(CマガのMookは買いました)
0037デフォルトの名無しさん
2008/08/21(木) 22:03:33ttp://dn.codegear.com/jp/article/34159
tp://bekins.borland.com/groups/jp/events/devcamp/04/devcamp04_g4.pdf
003836
2008/08/22(金) 15:17:18参考になりました
これを足がかりに少し進めてみます
0039デフォルトの名無しさん
2008/08/22(金) 15:26:46exeにマウス右クリックすると、
「マニフェスト ファイルを作成」
というポップアップメニューが出るお。
0040デフォルトの名無しさん
2008/08/22(金) 17:10:39社内でSP3を入れたXPを探してきて見てみたけど・・・・出なかった。
何が要因でそれが表示されるようになるんだろう。
004139
2008/08/22(金) 17:17:31自分も知りたい。
0042デフォルトの名無しさん
2008/08/25(月) 12:51:45VisualStudio入ってない?
004339
2008/08/25(月) 12:56:350044デフォルトの名無しさん
2008/08/26(火) 19:37:23せっかく2009が発売されるのに・・・
0045デフォルトの名無しさん
2008/08/26(火) 19:53:04http://pc11.2ch.net/test/read.cgi/tech/1219157228/
0046デフォルトの名無しさん
2008/08/27(水) 10:04:48値段たっかいなー
ご祝儀にしてもこれはちょっと辛いわ
0047デフォルトの名無しさん
2008/08/27(水) 12:31:05CodeGuardを使いたいのですが、大量にログが出てしまいました。
見てみるとどうもライブラリ内のAnsiString::cat_printfらしく、とりあえず
ライブラリ内と標準ライブラリのチェックだけはずしたいのですが
方法はないでしょうか?
※include の前に #pragma option -vG- を入れても引っかかって
しまいました。
0048デフォルトの名無しさん
2008/08/27(水) 17:15:53>メモリストリームの拡大中にメモリが足りなくなりました
エラーが出た場合、
どういう対処がありますでしょうか?
0049デフォルトの名無しさん
2008/08/27(水) 22:29:08その不具合に直接の関係があるかどうかは判らないけど、BCB6ではメモリ管理周りに不具合が残されたままなので
ひとまずfastmmをプロジェクトに追加してみたらどう?
005048
2008/08/28(木) 08:42:56fastmmをプロジェクトに追加したら治りマスタ。
今のfastmmってDLLも不要になってるんですね。
自分がfastmmが嫌いなのは、プロジェクトに組み込まれたか組み込まれてないか、見た目で分からないんですよね。
判定する方法はないんでしょうか?
0051デフォルトの名無しさん
2008/08/28(木) 17:21:40Form1からForm2を表示させたら何故かForm2がfsStayOnTopみたいになって
Form2が常にトップで表示されるんですが何故ですか?
両方ともFormStyleはfsNormalです。
0052デフォルトの名無しさん
2008/08/28(木) 17:23:020053デフォルトの名無しさん
2008/08/28(木) 17:30:080054デフォルトの名無しさん
2008/08/28(木) 17:35:210055デフォルトの名無しさん
2008/08/28(木) 17:39:22ちなみに、モーダルだと下フォーム(Form1)をクリってもアクティブにならないですが
>>51の現象はForm1はアクティブにはなるのですがForm2が常に前面にあるんですう
うーん、今までBuilder5でやってたのと同じなんですが、2007で仕様が変わったとか?
0056デフォルトの名無しさん
2008/08/28(木) 21:25:39Vista対策の弊害
0057デフォルトの名無しさん
2008/08/29(金) 18:06:17そそそそあqwせdrftgyふじこlそれだ!!
ありがとうありがとう><
しっかしこんなすぐわかるバグを放置ってなんなんだいったい
0058デフォルトの名無しさん
2008/08/29(金) 18:09:34ListViewのOwnerDataをtrueにしてあれすると
MultiSelectが使えないよおおおおおおおおおおおおおおおおおおおおー
複数選択するとSelCountが0になるうううううううううううう
たすけてー><
0059デフォルトの名無しさん
2008/09/01(月) 09:56:290060デフォルトの名無しさん
2008/09/01(月) 09:58:37これをListViewみたいにマルチセレクトする方法を教えてくださいよ
0061デフォルトの名無しさん
2008/09/01(月) 16:48:43StringGridのDrawCellで各セルを描画してんだけど
Invalidate呼んだら表示されてるとこ全部あれしちゃうんで
これ指定した行だけ更新するほうほうをさっさと教えてくださいよ
0062デフォルトの名無しさん
2008/09/02(火) 19:15:500063デフォルトの名無しさん
2008/09/09(火) 06:57:56>>34 >>35 返信ありがとうございました。
お陰様で、かなめの部分はこんな感じでできました。
void FindPathPattern(TStringList *paths, AnsiString dir, const TStringList *items, int level)
{
TSearchRec sr;
int attr;
if (level < items->Count-1) {
// フォルダ検索&再帰
attr = faAnyFile;
if (FindFirst(dir+items->Strings[level], attr, sr) == 0) {
do {
if (sr.Attr & faDirectory) {
FindPathPattern(paths, dir+sr.Name+"\\", items, level+1);
}
} while (FindNext(sr) == 0);
FindClose(sr);
}
}
else {
// ファイル検索&保存
attr = faAnyFile & ~faDirectory;
if (FindFirst(dir+items->Strings[level], attr, sr) == 0) {
do {
paths->Add(dir+sr.Name);
} while (FindNext(sr) == 0);
FindClose(sr);
}
}
}
0064デフォルトの名無しさん
2008/09/09(火) 21:57:25OnCustomDrawItemイベントでSender.Canvas.Brush.Colorを変更するだけ。
0065デフォルトの名無しさん
2008/09/11(木) 21:52:29widestring は wchar_t* に変換できないってどうすればいいのでしょ?
WideString( fi.FullName );
0066デフォルトの名無しさん
2008/09/18(木) 20:04:25方法無いのでしょうか?
006766
2008/09/18(木) 20:11:25半年も悩んだのに、書き込んだ瞬間わかるとは。。
0068デフォルトの名無しさん
2008/09/19(金) 13:13:29○問題
統合環境からのデバック実行時にCPUウィンドウが表示され続ける
○解ったこと
ListViewの項目幅を変更した時にCPUウィンドウが表示される
○その他情報
・Vista用のマニフェストを追加
・Listviewとは関係無い箇所の修正
・プログラムへのバージョン情報の埋め込み
この3点は元に戻してみましたが代わりありません
数日前のソースに戻すと問題無く動作します
DelphiMLで同様の現象が出た人が居たのですがその方はXP3を当てることで直ったそうですが
今の開発環境はすでにSP3が入っているのでこのような変化を付けることが出来ません
問題が発生しているListViewにはまったく手を入れていません
何か対策をご存じな方がおられましたらお願いいたします
0069デフォルトの名無しさん
2008/09/19(金) 22:48:13007068
2008/09/20(土) 08:52:23外部マニフェストでは無く実行ファイルの中に入れているので影響は無いと思っていました
(実行ファイルのパスとタイムスタンプでキャッシュしてると理解してます)
困った・・・・
007168
2008/09/20(土) 15:14:16原因は指摘の通りマニフェスト
一時は外しても再現してたのですがすべてのプロジェクトの再構築で再現しなくなりました
マニフェストのほうですがMicrosoft.Windows.Common-Controlsを指定しているブロックの部分が
引っかかっていたみたいです(目的としてはAdmin権限必須の指定だけでよかった)
丁度Vista対応実例があったのでそのマニフェストを流用していたために疑うのが遅れました
0072sage
2008/09/21(日) 07:40:54hotfixを当ててから効果がなくなってしまいました。
TC++をインストールしなおす以外に何かよい方法はないでしょうか?
0073デフォルトの名無しさん
2008/09/21(日) 11:14:12を修正して動かしたりしているんだが、ASCII文字だけがどうしてもうまくいかん......
元々、外国の特殊文字(Latin1/2)の文字入力の為に作ったソフトで、
ASCIIのウムラウトとかをキーボードから":u"とか入力して表示できる
ようにしてたんだが、C++Builder2009でコンパイルしてテストすると
"・"になっちゃうんだよね。
要は、ASCIIコードの特殊文字を表示させたいんだけれども、
どういう風にすればいいか分かる人いない?
やっぱり、Unicode対応しちゃったから今までのASCIIは完全にダメなんかな?
0074デフォルトの名無しさん
2008/09/21(日) 11:28:07表示のみUnicodeStringにするとかそのくらいしか思い浮かばないな。
0075デフォルトの名無しさん
2008/09/21(日) 12:04:00そういう方法しかないかなぁ......
一応試しているんだけれど、TEncodeingでUnicode化もうまくいかないんだよね......
TBytesにAnsiStringを変換しないとUnicode化はできないみたいなんだけれども、
これもうまくいかない......
0076デフォルトの名無しさん
2008/09/22(月) 07:05:05もしよかったらバージョンいくつからの以降で、
どの程度ソースの変更が必要だったか教えて欲しい。
0077デフォルトの名無しさん
2008/09/23(火) 09:38:40えっと、CodeGearウオッチャスレにも書いてるから、
重複するけれども、こんな感じ。
まぁ、やり方が分かれば、手間は掛かるかもだけれども難しい事はないよ。
C++Builder2007とC++Builder5からの移行だよ。
例1)MessageBoxに直接文字列セット
Applcation->MessageBox("mes","mes",MB_OK);
↓
Applcation->MessageBox(L"mes",L"mes",MB_OK);
例2)AnsiString型に文字列をセットしてMessageBox出力
AnsiString str="mes";
Applcation->MessageBox(str.c_str(),str.c_str(),MB_OK);
↓
UnicodeString str="mes";
Applcation->MessageBox(str.w_str(),str.w_str(),MB_OK);
例3)DelphiのVCL登録
Char→AnsiChar
PChar→PAnsiChar
例4)C++Builder5からの移行
C++Builder5から移行して、例1とか例2とかの修正後、
リンカエラーが出た場合の対処として、新規プロジェクトを作成
してフォームのCPPファイルを追加してコンパイルするとリンクも通る。
0078デフォルトの名無しさん
2008/09/23(火) 10:22:15ありがとう。L マクロか。
私も5からの以降なんだけど、
フォームは作り直さないとやっぱりダメ?
>フォームのcpp ←dfm の間違いだったらいいんだけど・・・
0079デフォルトの名無しさん
2008/09/23(火) 10:55:33あっ、フォームを作り直す必要はないよ。
作り直す必要があるのはプロジェクトファイルね。
新規でVCLフォームアプリケーションを作成して、最初にあるuit1をプロジェクト
から削除後、C++Builder5で作ったdfmのあるCPPファイルをプロジェクト
にD&Dすると、dfmとcppとhファイルが勝手に追加されるから、
その後ならリンクも正常に通るよ。
0080デフォルトの名無しさん
2008/09/23(火) 21:08:50ありがとう!
決心しました。
明日アップグレード金振り込んできます。
デヴェロッパーズキャンプとか出たのに、
そういう肝心なことは聞きにくかった。
っていうか、Builder5 からの移行って時点で
聞きにくかった・・・。
0081デフォルトの名無しさん
2008/09/23(火) 22:42:54お役に立てたら何よりだよ。
とりあえず、C++Builder2007でも通らなかったものはある。
具体的にはTarCtrlsっていうVCL。
これは、dsinintf.hppっていうのを使っているが、これがC++Builder2007
の時点でファイル名が変わってたっぽい。
で、そのファイル名に変更してみたんだが、クラス名も変わってるみたいで
簡単には移植できなさそうで諦めたよ。
そういったものを使ってなければ、移植に関してはそんなに問題はないと思うよ。
0082デフォルトの名無しさん
2008/09/24(水) 10:13:25重ね重ね、ありがとう。
VCL でも整理されたクラスとかあるんだね。
TarCtrls は多分使ってないと思う。
あんまり VCL でも変わったのは使わないようにしてるから、
意外と移植の手間は少なそうな気がしてきた。
それより、Lマクロがめんどくさそう・・・。
0083デフォルトの名無しさん
2008/09/24(水) 11:56:470084デフォルトの名無しさん
2008/09/25(木) 14:07:34>>77のMessageBoxも沢山あるんだけど,何しろヘルプがバグだらけで正しい書き直し方がわかるまでに
時間がかかる。
・UnicodeStringのc_str()メソッドはwchar_t*を返すとヘルプには書いてあるが,実際にはchar*が返される。
wchar_t*を返すのはw_str()だった。
・ExceptionクラスのMessageプロパティの型はヘルプによればAnsiStringだが,実際にはUnicodeString。
・DateTimeToString関数のプロトタイプはヘルプではDateTimeToString(AnsiString, const AnsiString, TDateTime);
となっているが,正しくはDateTimeToString(UnicodeString &, const UnicodeString, TDateTime);らしい。
結局ヘルプではAnsiString→UnicodeStringの書き換えがまともに行われてないんだということがやっとわかった。
それにしても&くらい抜かさずにちゃんと書いて欲しい...
ところで2009ではTEditのTextやTButtonのCaptionなんかが軒並みAnsiStringからTCaptionという型に変わって
るんだけど,ヘルプにはTCaptionはstringだと書いてある。これってstd::stringのことなの?
だとすると,ToInt()とかないからstd::stringstream使わなきゃなんないし,今までインデックスが1からだったのが
0からになるし,エライ騒ぎなんだが...と思ったら,違うみたい。デフォルトではstringはUnicodStringだそうな。
もーようわからん。Delphiとごっちゃになったヘルプはなんとかならのか!
0085デフォルトの名無しさん
2008/09/25(木) 15:24:28BCB6を使ってるとは同じ身だorz
誰か対応方法wiki化しる!
0086デフォルトの名無しさん
2008/09/25(木) 16:06:32#define _TCAPTION(str) std::string(str.c_str())
でいいじゃん
008784
2008/09/25(木) 16:10:03いや,TCaption=std::stringじゃなくてTCaption=UnicodeStringだってことがわかったんでいいんだ。
紛らわしいこと書いてスマソ。
0088デフォルトの名無しさん
2008/09/28(日) 13:42:030089デフォルトの名無しさん
2008/09/28(日) 13:44:10ttp://www.ruche-home.net/?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2F%BE%AE%A5%CD%A5%BF%BD%B8%2FUnicode%C2%D0%B1%FE%A5%B3%A1%BC%A5%C7%A5%A3%A5%F3%A5%B0
009080
2008/09/29(月) 22:12:58もう2日まって来なかったら、連絡してみよう・・・。
0091デフォルトの名無しさん
2008/09/30(火) 12:53:19自分で HexToInt なる関数をつくってしまったわい。
0092デフォルトの名無しさん
2008/09/30(火) 13:19:32変換する文字列の頭に 0x つければできるよ。
0093デフォルトの名無しさん
2008/09/30(火) 16:15:040094デフォルトの名無しさん
2008/09/30(火) 16:24:31009580
2008/09/30(火) 16:25:12インストールする気が全く起きん・・・。
0096デフォルトの名無しさん
2008/09/30(火) 19:00:11'$'+でももちろんおk
0097貧乏学生
2008/09/30(火) 19:27:05ファイルをリストボックス上にスクロールダウンして
リストボックスにファイルのパスが表示されるプログラムが
出来なくて困っています。
ご存知の方いらっしゃいましたらご指導よろしくお願いします。
0098デフォルトの名無しさん
2008/09/30(火) 19:37:26どこの言葉だよ・・・。
0099デフォルトの名無しさん
2008/09/30(火) 20:32:090100デフォルトの名無しさん
2008/09/30(火) 20:36:32ということ?
0101貧乏学生
2008/09/30(火) 20:38:00そうです。お教えください。よろしくお願いします。
0102デフォルトの名無しさん
2008/09/30(火) 20:39:300103デフォルトの名無しさん
2008/09/30(火) 20:48:380104デフォルトの名無しさん
2008/09/30(火) 23:20:09DragAcceptFiles を使う。
あとは DragQueryFile 辺りを調べてみて。
0105デフォルトの名無しさん
2008/10/01(水) 03:17:36>>102
D&Dっていったらダンジョンズ・アンド・ドラゴンズだろ
0106デフォルトの名無しさん
2008/10/01(水) 08:27:09アプリが起動するって
どういう仕組みになってるんだろ?
0107デフォルトの名無しさん
2008/10/01(水) 08:41:02それをやるのが OS の GUI。
0108デフォルトの名無しさん
2008/10/01(水) 09:47:12コマンドラインパラメータにドラッグ&ドロップされたファイル名が入ってくるから,
_argv[]とかParamStr()で取れるよ...って,そういう話じゃないのかな?
0109デフォルトの名無しさん
2008/10/01(水) 11:32:30各コンポーネントのCaption表示をリソース管理でローカライズすることは
出来たのですが、動的に表示を変える場合に用意した文字列を、リソース管理
でのローカライズ方法が分かりません。どなたか御教授下さい。
ちなみに、Caption表示等のリソースファイル(dfm, rc)とは別に文字列を定義
するファイルを作らないといけないんですかね?
0110デフォルトの名無しさん
2008/10/01(水) 12:09:25入れ替えたいなら、普通DLLでリソース持つわな。
0111デフォルトの名無しさん
2008/10/01(水) 13:38:11C++Bのエディットで表示したソース上で日本語以外のワイド文字が
入力出来ないみたいなんで、入力が出来るトランスレーションエディ
タで一緒に編集できる方法があればと思ったのですが。
0112デフォルトの名無しさん
2008/10/01(水) 14:05:49>>109 のように独自定義ファイル作って、実行時に読み込んで割り付けると楽だと思うが。
別にリソースでわざわざ持たせなくてもいいんだろ?
0113106
2008/10/01(水) 15:21:24そういうことダス。
ベリベリサンキュ。
0114デフォルトの名無しさん
2008/10/01(水) 15:26:33独自定義ファイルやDLLを作成するにしても外部ファイルが増
えてしまうので、出来れば増やしたくないってのがありますが
結局リソースファイル作る時点で増えるんで、独自定義ファイル
でまとめたほうが楽ですね。
0115デフォルトの名無しさん
2008/10/01(水) 15:32:12それと編集しやすいファイル記述形式は、
>AAA=menu click
みたいな1行単位。
これだと、TStringListにロードさせたあとは、Valuesで取れるし、
テキトーにファイルにコメント書いても悪影響ないし、
それとか、いざ、Win以外の開発が発生してもロードクラスを簡単に作れる。
0116115
2008/10/01(水) 15:35:45>Form1="送信フォーム"
>Form1.Label1="送信設定"
>Form1.Button1="送信"
みたいにしといて、
TStringListを渡しておいたら、
勝手にフォームのコントロールを検索してのキャプション書き換える
クラス作ちゃったw
注意点は、メモ帳でファイル書き換えても自分の直した行しか変わらず問題ないが、
ワードパッドとかで書きかえるとファイル保存するときにUNICODE勝手にいじられちゃう。
0117115
2008/10/01(水) 15:40:46・ファイルロードするTStringListクラスを保持したLangListクラス
・ロードしたものでコントロールのキャプション書き換えるクラス
は別々にしておいた方が良い。
なぜかというと、ロードしたクラスのみを使う場合があります。
例)
throw Exception(LangList.ValuesAnsi("MSG.CannotCreateFile") + SDestFile);
(LangListからUTF8でとるときは、LangList.ValuesUtf8("MSG.CannotCreateFile")とか書く)
0118デフォルトの名無しさん
2008/10/01(水) 15:55:30>>115
似たようなことをやっていたのですが、
自分の場合リストからロードする時にValue使わずに、
わざわざ文字列比較して引っかけてたんで、すごく
参考になります。
わざわざ、独自定義ファイルの作り方を教えて下さって
ありがとうございます!!
0119デフォルトの名無しさん
2008/10/02(木) 00:03:06リンクすればいい、ってのをやってた希ガス。標準的な手法があるなら独自にやるのは無駄では?
ttp://dn.codegear.com/jp/article/38706
これのB3かな?あとは
ttp://dybdahl.dk/dxgettext/
こゆのとか。
0120デフォルトの名無しさん
2008/10/02(木) 00:26:23で、ヘルプの「アプリケーションのローカライズ」で検索したらなんか出てきたよ。
今勉強中。
0121デフォルトの名無しさん
2008/10/02(木) 17:35:37AnsiString str;
str += "\0\0";
ではだめそうでした。char* に変換するのも面倒で、
なんかいい方法無いでしょうか。
0122デフォルトの名無しさん
2008/10/02(木) 21:07:52大丈夫なようだが。
AnsiString str = "abc";
str += "\0\0";
Edit1->Text = str;
if (str.SubString(4, 1) == "\0") {
Label1->Caption = "\\0";
}
if (str.SubString(5, 1) == "\0") {
Label2->Caption = "\\0";
}
0123デフォルトの名無しさん
2008/10/02(木) 21:47:12cat_printf()を使ったらうまくいった。
AnsiString str = "abc";
str.cat_printf("%c%c", 0, 0);
Edit1->Text = str;
Label3->Caption = str.Length();
if (str[4] == 0)
Label1->Caption = "\\0";
if (str[5] == 0)
Label2->Caption = "\\0";
0124121
2008/10/03(金) 15:45:35ありがとうございました!
使うところはもちろんSHFileOperationなのでした。
0125デフォルトの名無しさん
2008/10/07(火) 07:00:06新規プロジェクトのフォームに貼ったTImageにPNGを読み込ませておいてビルド→
[ILINK32 エラー] Error: 未解決の外部参照 'Pnglang::_EPngInvalidCRCText' が C:\PROGRAM FILES\CODEGEAR\RAD STUDIO\6.0\LIB\OBJ\PNGIMAGE.OBJ から参照されました
(もちろん、Pnglang.hppとPnglang.objは存在する)
読み込ませずにビルドしても同じ。TImageを貼っただけではうまくいくので、PNGを読み込ませた時に挿入さ
れた#include <pngimage.hpp>を削ってみるとビルドはとおるが、TImageの(TPictureの)LoadFromFileなどで
読み込もうとしても未サポートの拡張子と言われる
じゃあ、TPngImageを使おうと思っても、これはpngimage.hppで宣言されているのでインクルードしないとコン
パイルできないが、インクルードするとリンクエラー
試しに別のマシンに2009インストールして試してみたけど同じだった(両方ともXPマシン)
まともに使えている人いる? おかしいのは俺のところだけか?
それとも、何か情報ある?
0126デフォルトの名無しさん
2008/10/07(火) 14:57:15リリースノートによると、画像処理のパッケージがVCLJPGからVCLIMGに代わったからその影響みたい。
ttps://forums.codegear.com/thread.jspa?messageID=17336䎸
その、VCLIMGパッケージがリンクできていないようだから、どこか適当なソースに、
#pragma link "vclimg.lib"か#pragma link "vclimg.bpi"を追加すれば出来た。
0127125
2008/10/07(火) 22:40:45さんきゅ 動いたよ!
今後の事考えると面倒なんで、Pnglang.hppに#pragma link "vclimg.lib"書き加えたw
0128デフォルトの名無しさん
2008/10/09(木) 22:29:52最大化した時に、フォームのサイズに合わせて配置したパネルも一緒に拡大する方法を教えてください
オブジェクトインスペクタの設定でできますか?
0129デフォルトの名無しさん
2008/10/09(木) 23:41:18Anchors
0130デフォルトの名無しさん
2008/10/10(金) 20:41:01誰か教えて
0131デフォルトの名無しさん
2008/10/11(土) 01:36:14アンカーでどうやって均等配置できるんですか??
LeftとRightをtrueですか?
そうしたらLeftの位置は変わらないからRightが伸びてパネルがかぶるし・・・
どうすればいいんでしょうか?
0132デフォルトの名無しさん
2008/10/11(土) 12:25:15どういう状態にしたいかがよく分からんが、新しくPanelを作ってBevelOuter
をbvNoneにし、その上に今のPanelを置いてAnchorsを変えればいいんじゃない?
■ このスレッドは過去ログ倉庫に格納されています