Delphi XE2 発売後の各地の反応
TCanvasを継承してTCanvasGDIとかを作って差し替えたり。とかいう事が出来る可能性はないかな
2011-09-03 23:34:17@zendenmushi DefaultCanvasClassという変数に入れたクラスが使われるので可能っぽいです…けど全部実装するのは骨が折れそうw
2011-09-03 23:40:38@lynatan 丁度その変数にぶちあたってましたw。試しにTCanvasGdiPlusをまんま継承したクラスを代入しようとしたら、TCanvasGdiPlusを参照できずうまくいきません。FMX.Canvas.GDIPをusesするだけじゃダメなのかな
2011-09-03 23:51:15@zendenmushi あの辺は全部インターフェース非公開なんですよね。クラス定義がimplementation内で行われてるので
2011-09-03 23:52:32@lynatan あらほんとだw implementationを見逃してました。これだとちょっと実験でTCanvasGdiplusの実装を拝借するってわけにはいかないですね
2011-09-03 23:56:19@lynatan ファイル丸ごとコピってimplementationの位置を変えたら差し替えできました。 今のところやりかたはわかっても、GDI実装を作る勇気はでませんがw。
2011-09-04 00:10:14@tsukuyomi_ls ExpressBars http://t.co/75Ahim8 とか TMSのメニュー http://t.co/ksFxwSC とかですかねー
2011-09-04 00:20:29@tsukuyomi_ls ですねー。TMSのほうはあんまり使ってないんで良くわからんですけど。DevExpressのはやっぱ出来が良いですからねぇ w
2011-09-04 00:25:59XE2のTCanvas.MeasureTextに空文字列を渡した際のバグを直すユニット作りました。どこかでusesするだけで有効になります。あとおまけでDirect2DとGDI+の自動切り替え機能も付けておきました http://t.co/UBixAse
2011-09-04 00:38:22@onimaro2010 メニュー・ツールバーに絞ったときTMSのほうが安かったのでこっちにしてみます。相互情報展開できるかもという期待も込めてw ただまずは日本語使えるか明日お試し...
2011-09-04 00:45:35@lynatan ありがたやー...ポインタ激しいですねw ただどうもマルチバイトに絡む不具合が他にも大量にありそうなんでいったんVCLに逃げますw
2011-09-04 00:57:57@tsukuyomi_ls 同じこと思ってたので、元々の修正用手続き名はFixMeasureTextじゃなくてFixFMXBugsだったんですけど、なんか死亡フラグのような気がしてやめましたw
2011-09-04 01:01:29MacでPAServer立ててリモートデバッグ→ローカルのIDEはそのままでPAServerだけ落とす→PAServer起動してリモートデバッグ、ってやるとデバッガが致命的なエラーとやらで動かなくなる^p^
2011-09-04 01:10:19とりあえず、今の知識の範囲内だとCanvasへの描画はOnPaint内にとどめておいた方が無難そう。OnPaint()外でGDI+のオンスクリーンに描画する方法がいまいちわからない。(D2DならばBeginScene~EndSceneで挟めばOK)
2011-09-04 03:41:26完全に想像だけど、GDI+の時はフォームの描画がダブルバッファになって、OnPaint外の描画はオフスクリーンに書かれるのでオフスクリーンから表にコピーする方法が必要なんじゃないかなと。Canvas.FlashBufferRect()とかすごく怪しいけど使い方がわからない
2011-09-04 03:44:55D2Dの時はEndScene()の中で相応の処理が走るみたいやけど、GDI+の時はEndScene()はほとんど何もしてないっぽい
2011-09-04 03:46:45オンスクリーンへの直接描画(Vista移行だと完全なオンスクリーンじゃないってのは置いておいて)ができないと描画アプリ系でレスポンスが落ちそうな気がする。GDI+そのものにはオンスクリーンへの描画はあるっぽいので、もうすこしGDI+に対する知識をつける必要がありそう
2011-09-04 03:50:37書き忘れてたけど、OSXの時もOnPaint外でのCanvas描画方法がまだ不明。GDI+にしろOSXにしろOnPaint外で描画できないってことは無いと思うので、情報が出そろうのを待つか。
2011-09-04 03:53:28