このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。
■C++Builder XE2 - エンバカデロ・テクノロジーズ
http://www.embarcadero.com/jp/products/cbuilder
<過去スレ>
くだすれC++Builder(超初心者用)その4
http://toro.2ch.net/test/read.cgi/tech/1256256376/
くだすれC++Builder(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1171219191/
くだすれC++Builder(超初心者用)その2
http://pc10.2ch.net/test/read.cgi/tech/1144308804/
くだすれC++Builder(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1117225464/
<兄弟スレ>
くだすれDelphi(超初心者用)その54
http://toro.2ch.net/test/read.cgi/tech/1325028195/
くだすれC++Builder(超初心者用)その5
■ このスレッドは過去ログ倉庫に格納されています
2012/04/21(土) 13:26:14.76
379デフォルトの名無しさん
2013/07/01(月) NY:AN:NY.AN 今やってみたら、Delphi XE4でもフォームだけで2.2MBだった。
俺の所ではBuilder XE4では3.5MBだけど何が違うんだろう?
リンカのオプションでマップファイル出力を詳細にすると何がリンクされているか分かるよ
俺の所ではBuilder XE4では3.5MBだけど何が違うんだろう?
リンカのオプションでマップファイル出力を詳細にすると何がリンクされているか分かるよ
380デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.AN 動的RTLのチャック入れてるとか?
381デフォルトの名無しさん
2013/07/02(火) NY:AN:NY.AN チャックって!!
チェックって脳内変換してね^^
チェックって脳内変換してね^^
382デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN XE4でさ、メモリをコピーだけするのを作ったのさ
んで、64bit OSで32bitと64bitでコンパイルして速度計ったら
64bitでコンパイルした方が倍時間がかかってたんだけど、何で?
んで、64bit OSで32bitと64bitでコンパイルして速度計ったら
64bitでコンパイルした方が倍時間がかかってたんだけど、何で?
383デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN ソースさらせ
単に対象メモリサイズまで倍になってるってことじゃないだろうな
単に対象メモリサイズまで倍になってるってことじゃないだろうな
384デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN 単純にメモリコピー速度を32bitと64bitで比較するためにアレしてみただが
#define DIBBUFFERSIZE (1920*2048*4)
DWORD *Dib1;
DWORD *Dib2;
Dib1 = (DWORD *)::VirtualAlloc( NULL, DIBBUFFERSIZE, MEM_COMMIT, PAGE_READWRITE );
Dib2 = (DWORD *)::VirtualAlloc( NULL, DIBBUFFERSIZE, MEM_COMMIT, PAGE_READWRITE );
int ms = ::GetTickCount( );
for( int i = 0; i < 100; i ++ ){
::CopyMemory( Dib1, Dib2, DIBBUFFERSIZE );
}
ms = ::GetTickCount( ) - ms;
Panel1->Caption = ms;
:: VirtualFree( Dib1, DIBBUFFERSIZE, MEM_DECOMMIT );
:: VirtualFree( Dib2, DIBBUFFERSIZE, MEM_DECOMMIT );
#define DIBBUFFERSIZE (1920*2048*4)
DWORD *Dib1;
DWORD *Dib2;
Dib1 = (DWORD *)::VirtualAlloc( NULL, DIBBUFFERSIZE, MEM_COMMIT, PAGE_READWRITE );
Dib2 = (DWORD *)::VirtualAlloc( NULL, DIBBUFFERSIZE, MEM_COMMIT, PAGE_READWRITE );
int ms = ::GetTickCount( );
for( int i = 0; i < 100; i ++ ){
::CopyMemory( Dib1, Dib2, DIBBUFFERSIZE );
}
ms = ::GetTickCount( ) - ms;
Panel1->Caption = ms;
:: VirtualFree( Dib1, DIBBUFFERSIZE, MEM_DECOMMIT );
:: VirtualFree( Dib2, DIBBUFFERSIZE, MEM_DECOMMIT );
385デフォルトの名無しさん
2013/07/04(木) NY:AN:NY.AN CopyMemory が原因みたいだな
*des++=*src++
で単純にコピーすると64bitの方が速いな
*des++=*src++
で単純にコピーすると64bitの方が速いな
386デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN387デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN System::Move()とかmemcpyだとどうかな?
388デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN memcpyはCopyMemoryと同じだった
Moveは使ってないっぽ
Moveは使ってないっぽ
389デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN Moveやってみた
forで回すのと同じくらいの速度で32も64も同じくらいの速度だった
forで回すのと同じくらいの速度で32も64も同じくらいの速度だった
390デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN Moveはx86だとfastcodeのアセンブラで、x64はfastcodeのpascalコードなので、同じくらいというのは
まぁそんなもんかという気はする。
まぁそんなもんかという気はする。
391デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN ::CopyMemory って WinAPI 呼ぶんじゃないの?
392デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN >::CopyMemory って WinAPI 呼ぶんじゃないの?
CopyMemory自体がWin32API
CopyMemory自体がWin32API
393デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN >CopyMemory自体がWin32API
じゃ遅くても仕方ないな。Win64 API 使えないのかよ。
使えねーつーるだな
じゃ遅くても仕方ないな。Win64 API 使えないのかよ。
使えねーつーるだな
394デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN さてどうしようか
395デフォルトの名無しさん
2013/07/07(日) NY:AN:NY.AN またmalloc()やプリコンパイルヘッダの時みたいにユーザーが提案してきた
ルーチンを組み込むつもりなのかな
ルーチンを組み込むつもりなのかな
396デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN >>393
えっ?
えっ?
397デフォルトの名無しさん
2013/07/08(月) NY:AN:NY.AN 64bitネタがでていたのでXE4にVUPしてから64bitでビルドしてなかったので試してみたら3倍速位になった
デジカメのRAW現像なのでshort変数ばかり使ってるんだけどなぜ速くなったのか全くわからん
デジカメのRAW現像なのでshort変数ばかり使ってるんだけどなぜ速くなったのか全くわからん
398デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN exeのサイズは何倍になった?
399デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN 32bitで3.4Mが64bitは9.8Mになってた
ランタイム不要のReleaseビルドでの比較です
2010で作成したソースをClipboardで使われているNativeUIntの部分を条件分岐追加してコンパイルしただけ
ランタイム不要のReleaseビルドでの比較です
2010で作成したソースをClipboardで使われているNativeUIntの部分を条件分岐追加してコンパイルしただけ
400デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN XE4 での 32bit 版の大きさも知りたいところだな
401デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN 何の大きさ?チンポ?
402デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN XE4 での 32bit 版のチンポも大きさも知りたいところだな
403デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN だから32bit版の何の大きさを知りたいのさ?チンポ?
404デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN 399は両方XE4です
2010だと1.2Mだった
サイズはあまり気にしないがやっぱりでかくなってるんだな
2010だと1.2Mだった
サイズはあまり気にしないがやっぱりでかくなってるんだな
405デフォルトの名無しさん
2013/07/09(火) NY:AN:NY.AN チンポ?
406デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN C++Builder XE4でandroidアプリって作成できますか?
407デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN 出来ねーよ
408デフォルトの名無しさん
2013/07/10(水) NY:AN:NY.AN 雑魚は黙ってろよ
409デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN C++Builder5で質問なんだけど
最初はなんともなかったんだけど
フォーム数が増えてきてからコンパイルするとアイコンがデフォになってしまう
その状態になっても何度も再構築してたらちゃんと指定したアイコンになる時もあったんだけど
今はもう完全に何度再構築してもデフォアイコンのまま
しかもこの現象はXPだけでWin7だとちゃんとアイコンが表示されている。
このバグを回避してちゃんと指定したアイコンになる方法を教えてくださ・・・・
最初はなんともなかったんだけど
フォーム数が増えてきてからコンパイルするとアイコンがデフォになってしまう
その状態になっても何度も再構築してたらちゃんと指定したアイコンになる時もあったんだけど
今はもう完全に何度再構築してもデフォアイコンのまま
しかもこの現象はXPだけでWin7だとちゃんとアイコンが表示されている。
このバグを回避してちゃんと指定したアイコンになる方法を教えてくださ・・・・
410デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN GDIオブジェクト数の制限が掛かってるんじゃね?
レジストリいじって再起動かも
レジストリいじって再起動かも
411デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN レジストリどこ弄くればいいですかね?
412デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN http://technet.microsoft.com/ja-jp/windows/mark_16.aspx
ここをよく読んで
http://factory.sakura.ne.jp/tuneapp/
これで変更
レジストリエディタでも変更できるけど間違えるとWindowsが起動しなくなったりして危険
しかし制限値は10000なのでこれが原因じゃないような気がするなあ
ここをよく読んで
http://factory.sakura.ne.jp/tuneapp/
これで変更
レジストリエディタでも変更できるけど間違えるとWindowsが起動しなくなったりして危険
しかし制限値は10000なのでこれが原因じゃないような気がするなあ
413デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN414デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN プロセス毎に10000だよ?
Formにそれだけのコンポーネント乗っけてないよね?
Formにそれだけのコンポーネント乗っけてないよね?
415デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN 1つのフォームに1万も乗せてないですが
フォーム数は100ちょいで合計してもコンポーネント数は1万も無いかもあるかもって感じですが
フォーム数は100ちょいで合計してもコンポーネント数は1万も無いかもあるかもって感じですが
416デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN dfmファイルは116ありました。
ちなみにちなみに、浅いフォルダでコンパイルすると正常にアイコンが表示されます
と言ってもダメな時のフォルダ階層って4つくらいなんですけどね・・
ルートにフォルダ作ってそこでやると何故か大丈夫
ちなみにちなみに、浅いフォルダでコンパイルすると正常にアイコンが表示されます
と言ってもダメな時のフォルダ階層って4つくらいなんですけどね・・
ルートにフォルダ作ってそこでやると何故か大丈夫
417デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN418デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN 浅いフォルダだとおk?
もしかしてパスの長さがMAX_PATHを超えてないか?
もしかしてパスの長さがMAX_PATHを超えてないか?
419デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN420デフォルトの名無しさん
2013/08/05(月) NY:AN:NY.AN C++Builder2009で作成したプログラムをWindows7で実行したのですが
リストビューのカラム幅を変更しようとドラッグすると、ドラッグ途中では
再描画されずに縦棒で位置を示す表示がされるだけで、ドラッグ終了で
位置が確定してやっと新しいカラム位置で再描画されます。
これは2009はWindows7をサポートしていないことが原因でしょうか?。
また2009でもドラッグ中に再描画できるようなウラ技(?)とかありますか?。
スプリッターはResizeStykeをrsUpdateにしておけば旧OSと同様に
処理されていますが、カラムの変更も同じような感じにしたいのですが・・・。
リストビューのカラム幅を変更しようとドラッグすると、ドラッグ途中では
再描画されずに縦棒で位置を示す表示がされるだけで、ドラッグ終了で
位置が確定してやっと新しいカラム位置で再描画されます。
これは2009はWindows7をサポートしていないことが原因でしょうか?。
また2009でもドラッグ中に再描画できるようなウラ技(?)とかありますか?。
スプリッターはResizeStykeをrsUpdateにしておけば旧OSと同様に
処理されていますが、カラムの変更も同じような感じにしたいのですが・・・。
421デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN C++Builder2009なんですが、
TTreeview の LoadFromFile と SaveToFile メソッド
内部的にはUnicode だと思うんだけど、 SaveToFile で Unicode で保存まではいいんだけど
LoadFromFile で Unicode で読み込んでくれず、どうやらS-JISで読んでいるみたいなんです。
LoadFromFile で Unicode で読み込む方法か、
もしくは SaveToFile で S-JISで保存する方法があったら教えてください。
TStringList だと TEncoding で指定できるのに・・・。
TTreeview の LoadFromFile と SaveToFile メソッド
内部的にはUnicode だと思うんだけど、 SaveToFile で Unicode で保存まではいいんだけど
LoadFromFile で Unicode で読み込んでくれず、どうやらS-JISで読んでいるみたいなんです。
LoadFromFile で Unicode で読み込む方法か、
もしくは SaveToFile で S-JISで保存する方法があったら教えてください。
TStringList だと TEncoding で指定できるのに・・・。
422デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN overloadされたLoadFromFileが存在してない?
423デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN ないです。
E2227 _fastcall TCustomTreeView::LoadFromFile(const UnicodeString) の呼び出しに余分なパラメータがある
といわれます。
E2227 _fastcall TCustomTreeView::LoadFromFile(const UnicodeString) の呼び出しに余分なパラメータがある
といわれます。
424デフォルトの名無しさん
2013/08/08(木) NY:AN:NY.AN どうにも方法がないなら、TStringList→TStream系→TTreeviewでなんとかなりませんかね。
もしくは、TStringList.Text→TStringStream→TTreeviewとか。
当方Delphiかつ現在環境を用意してないので試してはいない。適当でスマソ。
もしくは、TStringList.Text→TStringStream→TTreeviewとか。
当方Delphiかつ現在環境を用意してないので試してはいない。適当でスマソ。
425デフォルトの名無しさん
2013/08/09(金) NY:AN:NY.AN >>424
TStream系に変換してみましたが、TTreeview のLoadFromStream の段階でダメのようです。
当面は原始的に各ノードに対して .StringOfChar('\t',Node->Level)+Node->Text; をTStringListに追加していって、それを保存という感じで対応しようと思います。
この方法で保存したものなら TCustomTreeView::LoadFromFile(const UnicodeString) でちゃんと読み込めましたので。
ありがとうございました。
TStream系に変換してみましたが、TTreeview のLoadFromStream の段階でダメのようです。
当面は原始的に各ノードに対して .StringOfChar('\t',Node->Level)+Node->Text; をTStringListに追加していって、それを保存という感じで対応しようと思います。
この方法で保存したものなら TCustomTreeView::LoadFromFile(const UnicodeString) でちゃんと読み込めましたので。
ありがとうございました。
426デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN 評価式についての質問なんですが。
int a=10,b=20;
if(a+=b && a==30) { }
こういう式があったとして、これって真になるということは保証されていましたっけ?
されてない?
if( (a+=b) && a==30) { }
こうすればOK?
int a=10,b=20;
if(a+=b && a==30) { }
こういう式があったとして、これって真になるということは保証されていましたっけ?
されてない?
if( (a+=b) && a==30) { }
こうすればOK?
427デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN 変態コードだけど、いいんじゃね?
428デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN C++Builder6で作られたソフトのメンテやらされているんだけど
簡単な画像処理で
Image1->Canvas->Pixels[x][y]=color;
で512*512ぶん回してるところがやたら遅いんだけど
Canvasを実メモリ配列に吸い出して
なんか処理してから
元に戻したいんだけど、どうすればいいんでしょ?
サンプルコードでもあれば教えてください。
簡単な画像処理で
Image1->Canvas->Pixels[x][y]=color;
で512*512ぶん回してるところがやたら遅いんだけど
Canvasを実メモリ配列に吸い出して
なんか処理してから
元に戻したいんだけど、どうすればいいんでしょ?
サンプルコードでもあれば教えてください。
429デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN >>428
今日も面接いってきたよ 2012年の3月から147社正社員面接しているのに採用されないよ
正社員歴2年の高卒の27だよ 福岡市に一人で住んでるよ 身長174センチ体重55キロだよ
資格は 簿記3級 秘書検定3級 ITパスポート,運転免許 モスのエクセルとワードだよ
これはネタではないよ
事実だよ
コピペでもないよ
今日も面接いってきたよ 2012年の3月から147社正社員面接しているのに採用されないよ
正社員歴2年の高卒の27だよ 福岡市に一人で住んでるよ 身長174センチ体重55キロだよ
資格は 簿記3級 秘書検定3級 ITパスポート,運転免許 モスのエクセルとワードだよ
これはネタではないよ
事実だよ
コピペでもないよ
430デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN >>428
ScanLine()で一行分ゴッソリ取ってくるのが普通じゃないの?
ScanLine()で一行分ゴッソリ取ってくるのが普通じゃないの?
431デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN >>430
ありがとうございます。
VC++ばかりやってたのでVCLのメソッドがよく判っていません。
明日やってみます。
ついでと言ってはなんですが、これ以外にcanvasのイメージを一気にxy配列で取り込む方法ってありますか?
ありがとうございます。
VC++ばかりやってたのでVCLのメソッドがよく判っていません。
明日やってみます。
ついでと言ってはなんですが、これ以外にcanvasのイメージを一気にxy配列で取り込む方法ってありますか?
432デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN >>431
CopyRect使えばTBitmapにコピー出来るけどそんな事したいのか?
配列に取り込むには一度TBitmapに変換してからじゃないと1ドット毎に
システムコールが起きるので遅くて仕方がない
CopyRect使えばTBitmapにコピー出来るけどそんな事したいのか?
配列に取り込むには一度TBitmapに変換してからじゃないと1ドット毎に
システムコールが起きるので遅くて仕方がない
433デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN だいたいWindowsのビットマップは丸っきり前後関係が逆なのでC言語の配列とは
相性が最悪なんだよな
C<=>FORTRANで行と列を交換するtranspose()位の手間がかかる
相性が最悪なんだよな
C<=>FORTRANで行と列を交換するtranspose()位の手間がかかる
434デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN ここはくだすれ...
歴史的に Windows BitMap の内部フォーマットは千差万別。かつ、連続したメモリブロックになっていない場合もある(あった)
ので結構めんどくさい。ひとことで言うと例外が多い。
素性のはっきりしたデータを最新の OS で動かすのであればそんなに問題ないんだけど
どんな画像でも、ちょっとふるい OS でも、となるとね...
なので一ピクセル単位のアクセスってのが、とっても遅いんだけど、まぁ安全。ってこと。
もうちょい早く処理したいなら ScanLine を使えば水平一ラインごとに読み書きできるので
たいていこちらを使う。
歴史的に Windows BitMap の内部フォーマットは千差万別。かつ、連続したメモリブロックになっていない場合もある(あった)
ので結構めんどくさい。ひとことで言うと例外が多い。
素性のはっきりしたデータを最新の OS で動かすのであればそんなに問題ないんだけど
どんな画像でも、ちょっとふるい OS でも、となるとね...
なので一ピクセル単位のアクセスってのが、とっても遅いんだけど、まぁ安全。ってこと。
もうちょい早く処理したいなら ScanLine を使えば水平一ラインごとに読み書きできるので
たいていこちらを使う。
435デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN 千差万別って、DDBとDIB Sectionの2種類しかないじゃないか
436デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN フルカラーの24bit16万色が(+8bitα値がGDI+)当たり前の今は関係ないけど、
昔は少ないVRAMにパレットを割り当てる事によって原色に近い色を出してたろ
そういうのを全部VCLに吸収して表面から見えないようにしていたので、プログラム
によってはびっくりするような結果が出ていた
そこまで考慮するかどうかで対応策も違ってくる
無視していいと思うんだけどね
昔は少ないVRAMにパレットを割り当てる事によって原色に近い色を出してたろ
そういうのを全部VCLに吸収して表面から見えないようにしていたので、プログラム
によってはびっくりするような結果が出ていた
そこまで考慮するかどうかで対応策も違ってくる
無視していいと思うんだけどね
437デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN ×16万色
○256^3≒1677万色
○256^3≒1677万色
438デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN http://www13.plala.or.jp/kymats/study/multimedia.html
ここが分かりやすいな
俺はDelphi Graphic Secretsというすっげー古い本を読んでるけど
今でも関心するような事が書いてある
でもほとんど今では役に立たないような事が多いけどな
VCLがいかに初期Windowsのヒデエ場所を隠蔽して見えなくしているかも
だいたい分かる
ここが分かりやすいな
俺はDelphi Graphic Secretsというすっげー古い本を読んでるけど
今でも関心するような事が書いてある
でもほとんど今では役に立たないような事が多いけどな
VCLがいかに初期Windowsのヒデエ場所を隠蔽して見えなくしているかも
だいたい分かる
439431
2013/08/22(木) NY:AN:NY.AN 皆様のご親切に感謝です。
全体の内容がわかってなくての質問でした。
よく見てみると今回の質問は
ネットワークからモノクロ8ビットの画像データをメモリ配列に取り込んで
このメモリ配列の画像データを小さいウインド画面でモニタするために
color=data*0x10000+data*0x100+data;
Image1->Canvas->Pixels[x][y]=color; // これをグルグル
とやっているのを高速化したいのですがお勧めの手法はなんでしょうか?
単純に画像メモリ配列データをウインドに画像として出力したいということで
古いOSと古いマシンの対応は不要です。
勉強不足長文すみません。
全体の内容がわかってなくての質問でした。
よく見てみると今回の質問は
ネットワークからモノクロ8ビットの画像データをメモリ配列に取り込んで
このメモリ配列の画像データを小さいウインド画面でモニタするために
color=data*0x10000+data*0x100+data;
Image1->Canvas->Pixels[x][y]=color; // これをグルグル
とやっているのを高速化したいのですがお勧めの手法はなんでしょうか?
単純に画像メモリ配列データをウインドに画像として出力したいということで
古いOSと古いマシンの対応は不要です。
勉強不足長文すみません。
440デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN http://www.geocities.jp/asumaroyuumaro/program/tips/ScanLine.html
こんな感じでScanLine()を行数分繰り返して出来たBitMapを
Imageに代入
こんな感じでScanLine()を行数分繰り返して出来たBitMapを
Imageに代入
441デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN ああそうだ、初めて知ったんだけど、ImageコンポーネントのPictureプロパティの
HandleからHBITMAP構造体へのポインタを得て、BITMAP構造体を
GetTObject()で取得しても、bmBitsはNULLになっちゃうのな
これどうすればいいんだろ
HandleからHBITMAP構造体へのポインタを得て、BITMAP構造体を
GetTObject()で取得しても、bmBitsはNULLになっちゃうのな
これどうすればいいんだろ
443デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN444デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN TBitmap(もしくは、TCanvas)の2つを透過コピーするサンプルコード下さいorz
>>441
TImage->Picture->BitmapのWidthかHeightを設定するタイミングでアサインされるんでわ?
>>441
TImage->Picture->BitmapのWidthかHeightを設定するタイミングでアサインされるんでわ?
445デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN ScanLineでマスク画像の白の部分以外を描けばいいだけじゃない?
マスク画像使わないんなら設定した色以外の場合だけ描けばいいんじゃない?
マスク画像使わないんなら設定した色以外の場合だけ描けばいいんじゃない?
446デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN AlphaFormatの事だとVCLは事情が異なるからなあ
GDI+をサポートしていないので、描画時に考慮するだけで他の動作は違うし
GDI+をサポートしていないので、描画時に考慮するだけで他の動作は違うし
447444
2013/08/30(金) NY:AN:NY.AN >設定した色以外の場合だけ描けば
調べても動作させても上手くいかなかったので、そうします。
調べても動作させても上手くいかなかったので、そうします。
448デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN ListViewでレポート表示させている場合に、ある行にフォーカスを設定すると
その行が画面に見えてない時には見える位置まで自動でスクロールしてしまうのですが
スクロールさせないようにすることは可能でしょうか?
スクロールしてしまった後に自力で戻すしかないでしょうか?
その行が画面に見えてない時には見える位置まで自動でスクロールしてしまうのですが
スクロールさせないようにすることは可能でしょうか?
スクロールしてしまった後に自力で戻すしかないでしょうか?
449デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN ある行にフォーカスを設定ってSelectedってこと?
だとしたらウチではそんなことにならないんだけど…
だとしたらウチではそんなことにならないんだけど…
450デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN SelectedじゃなくてFocused
設定すると点線で囲まれる
設定すると点線で囲まれる
451デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN ListView1->Items->Item[10]->Forcused=true;
にしても全然スクロールしないよ。XEだけど
にしても全然スクロールしないよ。XEだけど
452デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN その行が表示されていない状態でフォーカスを設定すると見える位置までスクロールしない?
ファイラーなんかでフォーカス行が見えていない時に↑↓キーでフォーカス行を変更すると
見える位置までスクロールするのと同じことなんだけど
ファイラーなんかでフォーカス行が見えていない時に↑↓キーでフォーカス行を変更すると
見える位置までスクロールするのと同じことなんだけど
453デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN >>451
描画の更新するとどうなる?
描画の更新するとどうなる?
454デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN ListView1->Invalidate();しても移動しないよ
455デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN UpdateやRefreshは?
あと移動しないということは見えない状態のままということだよね
それで↑↓キーをどっちか押すと見える位置まで移動する?
あと移動しないということは見えない状態のままということだよね
それで↑↓キーをどっちか押すと見える位置まで移動する?
456デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN いろいろ試してみた結果 「Forcusedをtrueにしたから」 というわけでもなく
再描画されたタイミングでフォーカス行までスクロールされているみたい
あと仮想リストビューを使っているのでその辺も違いがあったかもしれない
リストのデータを更新してCountに件数をセットしたタイミングでスクロールされていた
(フォーカスを設定していたタイミングではなかったので、ここで勘違いしてた)
なのでCountに件数をセットする前に表示されている一番上の行番号を退避しておいて
件数をセットした後でまた元の一番上の行番号が見えるように戻してやることで解決したっぽいです
ここまでお付き合いして情報を寄せて頂きありがとうございました
再描画されたタイミングでフォーカス行までスクロールされているみたい
あと仮想リストビューを使っているのでその辺も違いがあったかもしれない
リストのデータを更新してCountに件数をセットしたタイミングでスクロールされていた
(フォーカスを設定していたタイミングではなかったので、ここで勘違いしてた)
なのでCountに件数をセットする前に表示されている一番上の行番号を退避しておいて
件数をセットした後でまた元の一番上の行番号が見えるように戻してやることで解決したっぽいです
ここまでお付き合いして情報を寄せて頂きありがとうございました
457デフォルトの名無しさん
2013/09/05(木) 17:36:57.52 C++Builder6のIDEについて質問です。
IDE使用中にパソコンがフリーズしたことがあり、それ以来エラーが出るようになりました。
エラーのメッセージは下記リンク先と全く同じです。
http://www.functiont.info/diary/200509.html
2005年9月18日(日) Delphiの本体でエラー?
--
モジュール 'vcl60.bpl' のアドレス 40110C48 でアドレス 00000018 に対する書き込み違反がおきました。
モジュール 'coreide60.bpl' のアドレス 0052700C でアドレス 000000B4 に対する読み込み違反がおきました。
私の場合は一応は使えるのですが、IDEのメニューで「開く」から別のプロジェクトを開くと
この上のエラーメッセージが出ます。そして検索やコンパイル結果が表示されるウィンドウが
ドッキングから外れて浮いた状態で小さく表示されます。この後このウィンドウを
ドッキングし直せば以降は普通に使えるのですが、また別のプロジェクトを開くと
同じ事象が発生します。
またこのウィンドウをドッキングから外したりして弄っていたら下のエラーメッセージが出ました。
リンク先では再インストールで直ったとあるので、修復インストールや、アンインストール後に
インストールし直してみたりしたのですが改善されませんでした。
ファイルが壊れたのなら上書きで直りそうですが、何かゴミデータでも残っているのでしょうか?。
そのウィンドウの位置やサイズ情報を読み込んで変な位置に表示しようとしてエラーが出ている
ようにも思えるのですが、何かお心当たりのある方いらっしゃいますか?。
IDE使用中にパソコンがフリーズしたことがあり、それ以来エラーが出るようになりました。
エラーのメッセージは下記リンク先と全く同じです。
http://www.functiont.info/diary/200509.html
2005年9月18日(日) Delphiの本体でエラー?
--
モジュール 'vcl60.bpl' のアドレス 40110C48 でアドレス 00000018 に対する書き込み違反がおきました。
モジュール 'coreide60.bpl' のアドレス 0052700C でアドレス 000000B4 に対する読み込み違反がおきました。
私の場合は一応は使えるのですが、IDEのメニューで「開く」から別のプロジェクトを開くと
この上のエラーメッセージが出ます。そして検索やコンパイル結果が表示されるウィンドウが
ドッキングから外れて浮いた状態で小さく表示されます。この後このウィンドウを
ドッキングし直せば以降は普通に使えるのですが、また別のプロジェクトを開くと
同じ事象が発生します。
またこのウィンドウをドッキングから外したりして弄っていたら下のエラーメッセージが出ました。
リンク先では再インストールで直ったとあるので、修復インストールや、アンインストール後に
インストールし直してみたりしたのですが改善されませんでした。
ファイルが壊れたのなら上書きで直りそうですが、何かゴミデータでも残っているのでしょうか?。
そのウィンドウの位置やサイズ情報を読み込んで変な位置に表示しようとしてエラーが出ている
ようにも思えるのですが、何かお心当たりのある方いらっしゃいますか?。
458デフォルトの名無しさん
2013/09/05(木) 17:47:04.84 レイアウトファイルぶっ壊れてるんじゃね
デスクトップレイアウトとデバッグレイアウトを上書き保存したらどうだろうか
デスクトップレイアウトとデバッグレイアウトを上書き保存したらどうだろうか
459デフォルトの名無しさん
2013/09/05(木) 18:18:41.61 レスありがとう。
「標準」という名称でデスクトップの配置を保存してみましたがやはり上のメッセージが出ますね。
また 表示→デスクトップの配置→標準 という感じで保存した名称「標準」を選択しようとしても
同じエラーメッセージが表示されて選択できず <未指定> にチェックが付いたままになります。
この配置の読み込みでエラーが出るということはその辺に問題点があるということなのでしょうけど
一体何を読み込んでしまっているのだろう・・・。
保存すると 標準.dst というファイルが作成されましたが、同じフォルダ内にある bcb.dsk と見比べて
みればいいのかな?。 dsk ファイルも散々書き換えて試したのですが、やはりこの辺を徹底的に
調べるしかないか。
「標準」という名称でデスクトップの配置を保存してみましたがやはり上のメッセージが出ますね。
また 表示→デスクトップの配置→標準 という感じで保存した名称「標準」を選択しようとしても
同じエラーメッセージが表示されて選択できず <未指定> にチェックが付いたままになります。
この配置の読み込みでエラーが出るということはその辺に問題点があるということなのでしょうけど
一体何を読み込んでしまっているのだろう・・・。
保存すると 標準.dst というファイルが作成されましたが、同じフォルダ内にある bcb.dsk と見比べて
みればいいのかな?。 dsk ファイルも散々書き換えて試したのですが、やはりこの辺を徹底的に
調べるしかないか。
460デフォルトの名無しさん
2013/09/05(木) 19:59:35.35 http://docwiki.embarcadero.com/RADStudio/XE4/ja/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97_%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B
このあたりはどうなん
俺のXE4でも使えたけど
http://stackoverflow.com/questions/2893191/delphi-2009-rad-studio-desktop-selector-not-working
こんなのも発見した
HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Session\DesktopName=Default Layout
HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Session\RuntimeDesktopName=Debug Layout
壊れてないか?
このあたりはどうなん
俺のXE4でも使えたけど
http://stackoverflow.com/questions/2893191/delphi-2009-rad-studio-desktop-selector-not-working
こんなのも発見した
HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Session\DesktopName=Default Layout
HKEY_CURRENT_USER\Software\CodeGear\BDS\6.0\Session\RuntimeDesktopName=Debug Layout
壊れてないか?
461デフォルトの名無しさん
2013/09/05(木) 21:22:19.99 C++Builder6なので同じような項目を探してみたところ以下のような箇所を見つけました。
[HKEY_CURRENT_USER\Software\Borland\C++Builder\6.0\Session]
"DesktopName"=""
"RuntimeDesktopName"=""
現状では空欄になってますけど、これに各々 Default Layout と Debug Layout って入れるということなのかな?。
[HKEY_CURRENT_USER\Software\Borland\C++Builder\6.0\Session]
"DesktopName"=""
"RuntimeDesktopName"=""
現状では空欄になってますけど、これに各々 Default Layout と Debug Layout って入れるということなのかな?。
462デフォルトの名無しさん
2013/09/05(木) 21:38:11.37 古いパソコンにもC++Builderを入れてたので(こちらは問題なく動く、けどパソコンが非力)
レジストリを見てみましたがその2つの項目自体が無いですね。関係ないかもしれないです。
>>459 で「標準」という名前でデスクトップ レイアウトとデバッグ時のレイアウトを作ったので
その時に追加されたのかもしれない。そして症状が変わらなかったため削除したので
空欄になってるだけみたいです。
レジストリを見てみましたがその2つの項目自体が無いですね。関係ないかもしれないです。
>>459 で「標準」という名前でデスクトップ レイアウトとデバッグ時のレイアウトを作ったので
その時に追加されたのかもしれない。そして症状が変わらなかったため削除したので
空欄になってるだけみたいです。
463デフォルトの名無しさん
2013/09/05(木) 22:05:26.23 参考にならないかも知れないですがXE4ではこうなっています
[HKEY_CURRENT_USER\Software\Embarcadero\BDS\11.0\Session]
"RuntimeDesktopName"="Debug Layout"
"DesktopName"="Default Layout"
[HKEY_CURRENT_USER\Software\Embarcadero\BDS\11.0\Session]
"RuntimeDesktopName"="Debug Layout"
"DesktopName"="Default Layout"
464デフォルトの名無しさん
2013/09/05(木) 22:26:56.87 http://edn.embarcadero.com/article/39780
8.デスクトップレイアウトの設定
2009辺りからもプリセットで用意されてるみたいですね。
バージョン6の頃はまだ無いみたいです。
またアンインストールしてみるかなぁ。
多分レジストリに情報が残っていたんじゃないかと推測。
BCB6RegClean.exeをやればいいのかな?。
8.デスクトップレイアウトの設定
2009辺りからもプリセットで用意されてるみたいですね。
バージョン6の頃はまだ無いみたいです。
またアンインストールしてみるかなぁ。
多分レジストリに情報が残っていたんじゃないかと推測。
BCB6RegClean.exeをやればいいのかな?。
465デフォルトの名無しさん
2013/09/26(木) 23:00:41.47 XE2で、エントリーポイント(WinMain)があるファイルの
USEFORMマクロの上に気が付いたら空行を
どんどん追加されてるんだけど、これどうにかならないの?
USEFORMマクロの上に気が付いたら空行を
どんどん追加されてるんだけど、これどうにかならないの?
466デフォルトの名無しさん
2013/09/28(土) 19:03:52.62 C++Builder2009Proを使っています。
.pas ファイルをコンパイルしようとしているんですが、Indy系のファイルが見つからないとしてエラーになってしまいます。
>[致命的エラー] F1026 ファイル 'IdBaseComponent.dcu' が見つかりません
cppのC++で書かれたフォームにIdHTTPを貼り付ける → コンパイルは通る。
pasのDelphiで書かれたフォームにdHTTPを貼り付ける → 上記のエラーが出る。
C++Builder2009に付属のdccコンパイラはお試し的なもので本格的にコンパイルできるようにするにはDelphi買えってことなんでしょうか?
それともなにか方法があるんでしょうか。
(まあC++BuilderだけでDelphiも利用できたら分ける意味が無いなとは思うのですが)
.pas ファイルをコンパイルしようとしているんですが、Indy系のファイルが見つからないとしてエラーになってしまいます。
>[致命的エラー] F1026 ファイル 'IdBaseComponent.dcu' が見つかりません
cppのC++で書かれたフォームにIdHTTPを貼り付ける → コンパイルは通る。
pasのDelphiで書かれたフォームにdHTTPを貼り付ける → 上記のエラーが出る。
C++Builder2009に付属のdccコンパイラはお試し的なもので本格的にコンパイルできるようにするにはDelphi買えってことなんでしょうか?
それともなにか方法があるんでしょうか。
(まあC++BuilderだけでDelphiも利用できたら分ける意味が無いなとは思うのですが)
467デフォルトの名無しさん
2013/09/28(土) 19:43:41.98468デフォルトの名無しさん
2013/10/08(火) 16:46:16.13 Delphi糞ユーザーは口をはさまないで下さい。うざいだけです。
469デフォルトの名無しさん
2013/10/08(火) 20:14:26.21470デフォルトの名無しさん
2013/10/08(火) 20:45:58.37 触らないほうが…
471デフォルトの名無しさん
2013/10/10(木) 03:23:18.25 エンバカってバグ取り=アップデート(要お布施)ってこと?
XE6が出ても、新規では10万するのかな
XE6が出ても、新規では10万するのかな
472デフォルトの名無しさん
2013/10/13(日) 12:32:54.38 リリースビルドの設定でパッケージを含んで動的リンクさせないような設定にしたいんだけど
毎回プロジェクト作るごとに設定するの面倒だからデフォルト設定にしたいんだけどそう言う設定ないの?
毎回プロジェクト作るごとに設定するの面倒だからデフォルト設定にしたいんだけどそう言う設定ないの?
473デフォルトの名無しさん
2013/10/13(日) 12:50:08.40 よくわからんけど。
「プロジェクト」->「オプション」メニューから設定してない?
「ツール」->「オプション」から設定すればデフォにならない?
「プロジェクト」->「オプション」メニューから設定してない?
「ツール」->「オプション」から設定すればデフォにならない?
474デフォルトの名無しさん
2013/10/13(日) 13:24:40.58 ビルドの設定はわからなかったけど、フォーマッタって言うの見てたら
ソースの成形っていうメニューがあることを初めて知って設定して実行したらいい感じになった
VSだとある程度自動だけどこれいいな
ソースの成形っていうメニューがあることを初めて知って設定して実行したらいい感じになった
VSだとある程度自動だけどこれいいな
475デフォルトの名無しさん
2013/10/14(月) 10:02:24.58 >>472
どのバージョンを使ってるのか分からないけど
プロジェクトのデフォルト設定はXEまではあったが、XE2からは廃止された
XE2からはオプションセットにプロジェクト設定を保存して、それを適用しろという事らしい
どのバージョンを使ってるのか分からないけど
プロジェクトのデフォルト設定はXEまではあったが、XE2からは廃止された
XE2からはオプションセットにプロジェクト設定を保存して、それを適用しろという事らしい
476デフォルトの名無しさん
2013/10/17(木) 11:29:53.79 Builder XE4でNMSMTPってみつからないんだけど?
なくなった?
Indy使えってこと?
なくなった?
Indy使えってこと?
477デフォルトの名無しさん
2013/10/17(木) 19:24:33.34 NM*とはずいぶん古いな。とっくに作ってた会社もなくなってる。Indyでどうぞ。
478デフォルトの名無しさん
2013/10/17(木) 21:30:50.90 入力補完でキャストすれば行けるのに出てこない候補とかあるんだけど
設定とかあるの?
設定とかあるの?
479デフォルトの名無しさん
2013/10/17(木) 21:31:22.72 あ、XEです
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【米高騰】コメ価格「高いとは思ってない」 JA全中会長★5 [シャチ★]
- 【フジ】中居正広氏の代理人弁護士が第三者委員会報告に反論「性暴力の実態は確認できず」★20 [Ailuropoda melanoleuca★]
- 川口クルド人、中国人など「党としてしっかり対応すべき」外国人問題で自民が特命委設置へ [香味焙煎★]
- 【文春】《明日の記事予告》AKB元センター 熱愛スクープ! [冬月記者★]
- 元フジ・中井美穂アナ 不妊治療断念 夫・古田敦也の子を残せず 「役割を果たしてないなという申し訳なさ、引け目は今でも」 [冬月記者★]
- 【埼玉】全裸の女性を路上で目撃 さいたま市の複数カ所で 20〜40歳ぐらい 県警が通報呼びかけ [シャチ★]
- 🏡
- 納豆に生卵入れるんじゃあないよ!
- やっぱり、「大人になる=親になる」んだよ。幼稚な人は大体生涯独身 [805596214]
- フジテレビで特集「氷河期世代、救う?見捨てる?」👈見捨てるって選択肢あるのかよw [476167917]
- 【悲報】日本さんまだまだ冬が終わらない
- 元国税「国民民主玉木、れいわ山本に消費税を語る資格なし。食料品を税率ゼロにすると飲食店の負担が増えるというのはデマ」 [593776499]