最近本格的にDelphi2009を使い始めて気がついたんですが、TStringListにOwnsObjectsプロパティが追加されてますね。これをTrueに設定しておくと、Objectsプロパティに代入したTObjectを継承したオブジェクトは関連付けられたアイテムが破棄されるときに一緒…
先日あった事なんですがRad Studio2009への移行作業の中で、私のPCでビルドしたバイナリが同じくDelphi2009を入れてDeveloper Expressのパッケージを入れてる他の人のPCでパッケージが無いとエラーが出て動かないという状態になりました。調べて見るとDevelo…
いよいよAutoCAD 2012対応を開始しました。 コマンド登録用のARXもAutoCAD2012対応処理を行いましたのでその情報をメモ。基本的には、charで宣言していたものをACHARに変更、std::stringをstd::basic_stringに変更。 文字列リテラルを、_TEXTマクロで囲む。 …
Firebird-jp-general MLであったこの話です。IBSQL.BatchInputで日本語が化けるって話だったので調べて見た所。 TIBInputDelimitedFile.GetColumnの中で function TIBInputDelimitedFile.GetColumn(var Col: string): Integer; var c: Char; BytesRead: Inte…
前回の記事でObjectARX側の処理を書きました。今回はDelphi側の処理を書きます。まずは、前回のARX内のコマンド登録関数の定義。 function CommandRegister(Group, Cmd: PChar; const CmdFlags: Integer; Func: CMDFUNC): Boolean; stdcall; external ARX名;…
DelphiでAutoCADのコマンドを作成する方法。といっても、コマンドの登録にはVCを利用しますし、Delphiで操作するのはCOM経由でAutoCADを操作する事になるのでObjectARX程自由度は有りません。外部プロセスでAutoCADを操作するよりは実行速度が速くなるかと思…
今週は急遽Windows7でDelphi7で開発しているプログラムが動くか確認する必要が出たので色々確認していたのですが、そこで幾つかはまった事があるのでメモ的に。ます、DeveloperExpressのcxGrid等を使用しているのでcxLocalizerを使って日本語化をしているん…
uJumpList.pasを少し修正。TJumplist.CreateJumpList内でFAppIDが空の場合SetAppIDを実行しないように修正しました。さて、本題。 前回までの記事で作ったユニットを使ってRad Studioにジャンプリストを追加してみようと思います。 RadStudioへの処理は、実…
前回はユーザータスクの追加をしましたので、今回はカスタムカテゴリの追加をします。と思って試行錯誤してたんですがどうやってもメモリエラーが起こってしまってカテゴリの追加が出来ませんでした。 で、たどり着いた結論は、shlobj.pasで定義されてるICus…
前回の続き、今回はジャンプリストにタスクを追加してみます。 // Task/Destination作成用データを保持する TTaskItem = class protected function CreateShellLink(out AShellLink: IShellLink): Boolean; public constructor Create; overload; constructo…
Windows7のタスクバーの新機能ジャンプリストを使ってみようと調べて見ました。 第15回デベロッパーキャンプ B6セッションとかこことか参照したのをまとめておく。まずは、前準備として必要なAPIとか関数定義をWindows SDKのpropvarutil.hから移植 APIの方は…
かなりピンポイントなエントリです。 Twitter上で、同じようなイベント一杯書きたく無いって感じのツイートがあったので私はこんな感じでやってますよってのを。質問であったのは、メニュー選択でウィンドウサイズを変更する処理での事でした。 ウィンドウサ…
前回の記事を書いてから良く考えて見直してみると、Proxyの例外を無視してます。 それに、「設定を自動的に検出する」とか「自動構成スクリプトを使用する」にチェックが入ってると機能しないんじゃないかと。 そこで、その辺りも加味してProxyを取得する関…
Delphiメーリングリストにアップされた東京電力情報のプログラム プロクシ環境下で使えるようにしようかと思ってIEのProxy設定を取得する方法を調べてみた所、レジストリから取得する方法が見つかりました。ただ、私の環境だとポリシーを使ってる為なのか良…
Rad Studio XEのプロジェクトオプションで指定出来るビルドイベントがありますが、ここの編集画面を開いた時のマクロが空っぽになってます。 まあ、ビルドイベントはあんまり使わない機能かなとも思うんですが使うとなると不便なんでDelphi2009の編集画面か…
ウィンドウの位置・サイズを保存するとき、Width/Heightをそのまま保存するとウィンドウを最大化してる時に最大化状態のWidth/Heightが保存されてしまうので悲しい状態になります。そこで、GetWindowPlacementを使うと最大化状態であっても通常状態のウィン…
2010/3/8 内容を修正しました。TcxGridのソートについて。CustomDataSourceを使ったUnbound modeではなく、DataSetを使ったProvider modeでの話です。 Viewについては、DBTableView又はDBBandedTableViewを想定してます。 ViewのDataController.DataModeCont…
前回 とりあえず日本語が出力出来るようになったんですが、フォーラムを見てるとTPdfDocumentのCanvasであるTPdfCanvasを使うんじゃなくTPdfDocumentGDIのVCLCanvasを使うようにってな事が書いてありました。 TPdfDocumentGDIのVCLCanvasはTCanvas互換という…
Subversionを普通に使ってる人には当たり前の話かな。 DelphiXEでIDEにSubverionが統合されたんですが、Proxyの設定をする所がありません。 TortoiseSVNとかだと、設定ダイアログに項目があるんですけどね。 設定場所は、%APPDATA%subversion\の中にあるserv…
PDFを作成するライブラリSynopse PDF Engineを使ってみました。基本的な使い方は、TPdfDocumentを作成して、そのCanvasに対して操作をしていくみたい。 Canvasの座標は、FormとかのCanvasと違って左下が原点になってるようです。とりあえず、テキストを書い…
TcxButtonEditでドロップダウンリストを表示出来ないか探してて見つけた方法。 TcxButtonEditでドロップダウンリストを出すのは方法は判らなかったけど、TcxComboBoxにボタンを追加する方法をみつけたのでまとめておく。 サポートのサンプルはこちら正確には…
現在の最新版のbuild54のTcxButtonEditで、ボタンのGlyphイメージを設定した時にイメージとEnabledが逆になるってバグがあるようです。 ボタンのEnbaledは上が、Enabled=Trueで下がEnabled=false。ここに修正用のコードがあるのでコピペして、Developer Expr…
TcxCheckListBoxのEditValueFormatがcvfIntegerの時、アイテム64個までしか登録出来ないんですね。 デフォルト値がcvfIntegerなんですが、何も気にせず放っておいたらアイテム数が多くなる時にエラー発生。調べてみたら上の通りの事がヘルプに乗ってました。
日本語の翻訳ファイル置いておきます(ExpressQuantumGrid,ExpressBars中心)、かなり適当訳ですが良ろしければどうぞ。 ダウンロード使い方は、メインフォームかどこか(OnCreate辺り)で cxLocalizer1.FileName := 翻訳ファイルのパス; cxLocalizer1.Activ…
DevExpressのTcxGridてグリッドコントロール、データベースのデータ一覧とかで良く使ってます。 今回は、データベースじゃなく自分で定義したデータとTcxGridを連携する時に使うTcxCustomDataSourceの使い方をメモ。とりあえずデータクラスを定義 TUserData …
仕事ではDelphi使ってAutoCADのカスタマイズやってます。Delphi7+AutoCAD2006ですがね。 VCかC#、VBAなんかでやるのが本筋なんですが、昔にDelphiARXってのがありましてそれでDelphi使ってカスタマイズ出来たもんだからヘタレな私はどっぷりその環境に浸か…
FIBPlusの新バージョンの7がリリースされたようです。 フォーラムで案内があってから2ヶ月程、フォーラムの方も1ヶ月以上反応がなく大丈夫かと思ってたんですが仕事で使ってるだけに一安心です。 まぁ、仕事で使ってるのは6.5とかなり古いバージョンなんです…
DelphiのMLでジェネリクスについての質問があったので勉強がてら調べてみた。 http://www.freeml.com/delphi-users/1505/latest普段はDelphi7をメインに使ってるんでジェネリクスはさっぱりですね。 ただ、グローバル関数を定義出来なかったり、演算子をその…
とりあえず、はじめてみました。