nakamurakko’s diary

仕事で覚えたこと、勉強したことを自分のメモ代わりに書いていこうかなと。

Delphi

Delphiのコード補完にXML ドキュメント コメントを表示したい

DelphiにはC#と同じように、クラスやメソッドなどの説明をXMLドキュメントコメントで記述できる。 XML ドキュメント コメント 例えば、クラスの説明を書けば、 /// <summary> /// メインフォーム /// </summary> TMainForm = class(TForm) end; クラス名にカーソルを合わせると…

DelphiでMVVMライクな実装を試す

DelphiでMVVMを実装したくて、本を読んだり、ライブラリーをGitHubで公開してそうなものを探したりしたけど、「LiveBindingを使えばできるのでは?」と思って探してみた。 参考にしたサイト モバイル チュートリアル:LiveBinding を使用してリスト ビューの…

Indyを使ってSSL通信

環境 Delphi 10.2 Indy 10.6.2.5366 libeay32.dll ssleay32.dll 実装 IndyコンポーネントTIdHTTPを使って、SSL通信の最小設定(のはず)。 procedure TMainForm.GetContentButtonClick(Sender: TObject); var http: TIdHTTP; sslIOHandler: TIdSSLIOHandlerSoc…

Delphiで初期宣言されたForm変数の削除を検討する

環境 Delphi 10.2 Update 3 困ったこと Delphiで新規Formを作成した場合、下記のようなソースが生成される。 unit MainForms; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, F…

TStringHelperの弱点

実行環境:Delphi XE7 Professional Update 1 TStringHelperが用意された事で、文字列操作が Trim(' Hello '); から ' Hello '.Trim のように書けるようになった。 ただ困ったのは、例えば、TMaskEditが持っているTextプロパティに対して、 MaskEdit1.Text.T…

Delphiで文字列結合が楽になった

1.実行環境:Delphi XE7 Professional Update 1 Javaの「String,join」がDelphiでも出来ないかと思っていたけど、Delphi XE3から出来るようになっていたらしい。 気づいてなかった。 program ConsoleApp; {$APPTYPE CONSOLE} uses System.Classes, System.Sy…

Delphi七不思議の一つ(個人的な)

Genericsの実装で ・リスト系→存在する(TObjectList) ・ディクショナリ系→存在する(TObjectDictionary) ・セット系→存在しない!(TObjectSetみたいなクラスが無い) というのがDelphi XE7でも変わらず。 何か理由があるのだろうか?

Delphiで手抜きインターフェース取り込み

Delphiにもインターフェースは存在する。 全てのインターフェースの基本クラスは「IInterface」。 ただし、Javaや.NETとは違い、インターフェースを継承すると ・_AddRefと_Release(参照カウントメソッド) ・QueryInterface(指定したインターフェイスへの参…