Delphi

DelphiとAutoCAD

DelphiでAutoCADのコマンドを作成する方法。といっても、コマンドの登録にはVCを利用しますし、Delphiで操作するのはCOM経由でAutoCADを操作する事になるのでObjectARX程自由度は有りません。外部プロセスでAutoCADを操作するよりは実行速度が速くなるかと思…

Windows7でDelphi7のプログラムを動かす時の注意点

今週は急遽Windows7でDelphi7で開発しているプログラムが動くか確認する必要が出たので色々確認していたのですが、そこで幾つかはまった事があるのでメモ的に。ます、DeveloperExpressのcxGrid等を使用しているのでcxLocalizerを使って日本語化をしているん…

RAD Studio XEにジャンプリストを追加する

uJumpList.pasを少し修正。TJumplist.CreateJumpList内でFAppIDが空の場合SetAppIDを実行しないように修正しました。さて、本題。 前回までの記事で作ったユニットを使ってRad Studioにジャンプリストを追加してみようと思います。 RadStudioへの処理は、実…

ジャンプリストを使ってみる その3

前回はユーザータスクの追加をしましたので、今回はカスタムカテゴリの追加をします。と思って試行錯誤してたんですがどうやってもメモリエラーが起こってしまってカテゴリの追加が出来ませんでした。 で、たどり着いた結論は、shlobj.pasで定義されてるICus…

ジャンプリストを使ってみる その2

前回の続き、今回はジャンプリストにタスクを追加してみます。 // Task/Destination作成用データを保持する TTaskItem = class protected function CreateShellLink(out AShellLink: IShellLink): Boolean; public constructor Create; overload; constructo…

ジャンプリストを使ってみる その1

Windows7のタスクバーの新機能ジャンプリストを使ってみようと調べて見ました。 第15回デベロッパーキャンプ B6セッションとかこことか参照したのをまとめておく。まずは、前準備として必要なAPIとか関数定義をWindows SDKのpropvarutil.hから移植 APIの方は…

Tagプロパティを使う

かなりピンポイントなエントリです。 Twitter上で、同じようなイベント一杯書きたく無いって感じのツイートがあったので私はこんな感じでやってますよってのを。質問であったのは、メニュー選択でウィンドウサイズを変更する処理での事でした。 ウィンドウサ…

IEのProxy設定を取得する その2

前回の記事を書いてから良く考えて見直してみると、Proxyの例外を無視してます。 それに、「設定を自動的に検出する」とか「自動構成スクリプトを使用する」にチェックが入ってると機能しないんじゃないかと。 そこで、その辺りも加味してProxyを取得する関…

IEのProxy設定を取得する

Delphiメーリングリストにアップされた東京電力情報のプログラム プロクシ環境下で使えるようにしようかと思ってIEのProxy設定を取得する方法を調べてみた所、レジストリから取得する方法が見つかりました。ただ、私の環境だとポリシーを使ってる為なのか良…

ビルドイベントで使用するマクロ

Rad Studio XEのプロジェクトオプションで指定出来るビルドイベントがありますが、ここの編集画面を開いた時のマクロが空っぽになってます。 まあ、ビルドイベントはあんまり使わない機能かなとも思うんですが使うとなると不便なんでDelphi2009の編集画面か…

Window位置の保存・復元処理

ウィンドウの位置・サイズを保存するとき、Width/Heightをそのまま保存するとウィンドウを最大化してる時に最大化状態のWidth/Heightが保存されてしまうので悲しい状態になります。そこで、GetWindowPlacementを使うと最大化状態であっても通常状態のウィン…

TcxGridのソート

2010/3/8 内容を修正しました。TcxGridのソートについて。CustomDataSourceを使ったUnbound modeではなく、DataSetを使ったProvider modeでの話です。 Viewについては、DBTableView又はDBBandedTableViewを想定してます。 ViewのDataController.DataModeCont…

Synopse PDF Engine使ってみる その2

前回 とりあえず日本語が出力出来るようになったんですが、フォーラムを見てるとTPdfDocumentのCanvasであるTPdfCanvasを使うんじゃなくTPdfDocumentGDIのVCLCanvasを使うようにってな事が書いてありました。 TPdfDocumentGDIのVCLCanvasはTCanvas互換という…

SubversionのProxy設定

Subversionを普通に使ってる人には当たり前の話かな。 DelphiXEでIDEにSubverionが統合されたんですが、Proxyの設定をする所がありません。 TortoiseSVNとかだと、設定ダイアログに項目があるんですけどね。 設定場所は、%APPDATA%subversion\の中にあるserv…

Synopse PDF Engine使ってみる

PDFを作成するライブラリSynopse PDF Engineを使ってみました。基本的な使い方は、TPdfDocumentを作成して、そのCanvasに対して操作をしていくみたい。 Canvasの座標は、FormとかのCanvasと違って左下が原点になってるようです。とりあえず、テキストを書い…

TcxComboBox にボタンを追加する

TcxButtonEditでドロップダウンリストを表示出来ないか探してて見つけた方法。 TcxButtonEditでドロップダウンリストを出すのは方法は判らなかったけど、TcxComboBoxにボタンを追加する方法をみつけたのでまとめておく。 サポートのサンプルはこちら正確には…

ExpressEditors Libraryのバグ

現在の最新版のbuild54のTcxButtonEditで、ボタンのGlyphイメージを設定した時にイメージとEnabledが逆になるってバグがあるようです。 ボタンのEnbaledは上が、Enabled=Trueで下がEnabled=false。ここに修正用のコードがあるのでコピペして、Developer Expr…

TcxCheckListBox

TcxCheckListBoxのEditValueFormatがcvfIntegerの時、アイテム64個までしか登録出来ないんですね。 デフォルト値がcvfIntegerなんですが、何も気にせず放っておいたらアイテム数が多くなる時にエラー発生。調べてみたら上の通りの事がヘルプに乗ってました。

日本語翻訳ファイル

日本語の翻訳ファイル置いておきます(ExpressQuantumGrid,ExpressBars中心)、かなり適当訳ですが良ろしければどうぞ。 ダウンロード使い方は、メインフォームかどこか(OnCreate辺り)で cxLocalizer1.FileName := 翻訳ファイルのパス; cxLocalizer1.Activ…

TcxCustomDataSource

DevExpressのTcxGridてグリッドコントロール、データベースのデータ一覧とかで良く使ってます。 今回は、データベースじゃなく自分で定義したデータとTcxGridを連携する時に使うTcxCustomDataSourceの使い方をメモ。とりあえずデータクラスを定義 TUserData …

Delphi & AutoCAD

仕事ではDelphi使ってAutoCADのカスタマイズやってます。Delphi7+AutoCAD2006ですがね。 VCかC#、VBAなんかでやるのが本筋なんですが、昔にDelphiARXってのがありましてそれでDelphi使ってカスタマイズ出来たもんだからヘタレな私はどっぷりその環境に浸か…

FIBPlus 7

FIBPlusの新バージョンの7がリリースされたようです。 フォーラムで案内があってから2ヶ月程、フォーラムの方も1ヶ月以上反応がなく大丈夫かと思ってたんですが仕事で使ってるだけに一安心です。 まぁ、仕事で使ってるのは6.5とかなり古いバージョンなんです…

Delphi ジェネリクス

DelphiのMLでジェネリクスについての質問があったので勉強がてら調べてみた。 http://www.freeml.com/delphi-users/1505/latest普段はDelphi7をメインに使ってるんでジェネリクスはさっぱりですね。 ただ、グローバル関数を定義出来なかったり、演算子をその…