<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE feed [
      <!ENTITY lt "&#38;#60;">
      <!ENTITY gt "&#62;">
      <!ENTITY amp "&#38;#38;">
      <!ENTITY apos "&#39;">
      <!ENTITY quot "&#34;">
      <!ENTITY nbsp "&#160;">
      <!ENTITY copy "&#169;">
]>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title type="text">開発ブログ</title>
    <subtitle type="text">MASA Lab softlab-Software Architecture Laboratory</subtitle>
    <updated>2026-04-17T14:40:38+09:00</updated>
    <id>http://softlab.masa-lab.net/modules/d3blog/index.php</id>
    <link rel="alternate" type="text/xhtml" hreflang="ja" href="http://softlab.masa-lab.net/" />
    <link rel="self" type="application/atom+xml" href="http://softlab.masa-lab.net/modules/d3blog/index.php?page=atom" />
    <rights>Copyright &copy; 2008-2019 by MASA-Lab</rights>
    <generator uri="http://softlab.masa-lab.net/">D3BLOG - XOOPS BLOG MODULE</generator>
    <entry>
        <title>Frame には要注意</title>
        <link rel="alternate" type="text/xhtml" href="http://softlab.masa-lab.net/modules/d3blog/details.php?bid=265" />
        <id>http://softlab.masa-lab.net/modules/d3blog/details.php?bid=265</id>
        <published>2017-05-29T22:10:00+09:00</published>
        <updated>2018-02-16T15:25:59+09:00</updated>
        <category term="VCL" label="VCL" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="http://softlab.masa-lab.net/" xml:lang="ja">VCL XE7LiveBindings で CustomFormat を設定しても一向に反映されないいや、デザインモードでは見えるのだが実行してみると反映されていないLiveBindings のバグなのかと思って、色々と試してみた...</summary>
       <content type="html" xml:lang="ja" xml:base="http://softlab.masa-lab.net/">
<![CDATA[<div>VCL XE7<br /><br />LiveBindings で CustomFormat を設定しても<br />一向に反映されない<br />いや、デザインモードでは見えるのだが<br />実行してみると反映されていない<br /><br />LiveBindings のバグなのかと思って、色々と試してみた<br />全然わからない<br /><br />結局、フレームのせいだった<br />フレームで、grid と PrototypeBindSource を設定して<br />そのフレームをフォームに張り付けていたのだが<br />どうもメインのフォームに張り付けたフレームで<br />IfThen などのCustomFormat が削除されてしまうのだ<br />何度やってもダメ<br />Bind 関係の uses が足りないせいか？と思って<br />色々追加するが結局ムダ<br /><br />張り付けて一回目のコンパイルはOKなのに<br />その後、すでにデザインモードで動作しなくなっている！！<br />そして再度コンパイルすると当然ダメ！<br />これひどい</div>]]>
       </content>
    </entry>
    <entry>
        <title>良く忘れる</title>
        <link rel="alternate" type="text/xhtml" href="http://softlab.masa-lab.net/modules/d3blog/details.php?bid=262" />
        <id>http://softlab.masa-lab.net/modules/d3blog/details.php?bid=262</id>
        <published>2017-05-17T22:30:00+09:00</published>
        <updated>2018-02-16T15:23:39+09:00</updated>
        <category term="全般" label="全般" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="http://softlab.masa-lab.net/" xml:lang="ja">TList は無名メソッドでソートできるTObjectList の sortは TComparer を使って行う
uses
  System.Generics.Defaults, System.Generics.Defaults,
  ...

List.Sort(TComparer&lt;TFooBar&gt;.Construct(
    function(const Item1, Item2: ...</summary>
       <content type="html" xml:lang="ja" xml:base="http://softlab.masa-lab.net/">
<![CDATA[<div>TList<T> は無名メソッドでソートできる<br /><br />TObjectList<T> の sortは TComparer を使って行う<br /><br /><pre class="blogCode"><code>
uses
  System.Generics.Defaults, System.Generics.Defaults,
  ...

List.Sort(TComparer&lt;TFooBar&gt;.Construct(
    function(const Item1, Item2: TFooBar): Integer
    begin
      Result := Item1.Prop1 - Item2.Prop1;
    end));
)
</code></pre></div>]]>
       </content>
    </entry>
    <entry>
        <title>FireMonkey TListBox removeObject でメモリリークした</title>
        <link rel="alternate" type="text/xhtml" href="http://softlab.masa-lab.net/modules/d3blog/details.php?bid=252" />
        <id>http://softlab.masa-lab.net/modules/d3blog/details.php?bid=252</id>
        <published>2017-02-11T21:00:00+09:00</published>
        <updated>2018-02-16T15:16:27+09:00</updated>
        <category term="FireMonkey" label="FireMonkey" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="http://softlab.masa-lab.net/" xml:lang="ja">Berlin upd2TListBox に AddObject するときにTListBoxItem を
ListBoxItem := TListBoxItem.Create(nil);
...
ListBox.AddObject(ListBoxItem);
のようにして作成するとRemoveObject したときにメモリリークを起こしてしまっ...</summary>
       <content type="html" xml:lang="ja" xml:base="http://softlab.masa-lab.net/">
<![CDATA[<div>Berlin upd2<br /><br />TListBox に AddObject するときに<br />TListBoxItem を<br /><pre class="blogCode"><code>
ListBoxItem := TListBoxItem.Create(nil);
...
ListBox.AddObject(ListBoxItem);
</code></pre><br />のようにして作成すると<br />RemoveObject したときにメモリリークを起こしてしまった。<br /><br />作成時に<br /><pre class="blogCode"><code>
ListBoxItem := TListBoxItem.Create(ListBox);
</code></pre><br />とすれば、メモリリークは発生しなかった</div>]]>
       </content>
    </entry>
    <entry>
        <title>RAD Studio git でエラー？</title>
        <link rel="alternate" type="text/xhtml" href="http://softlab.masa-lab.net/modules/d3blog/details.php?bid=212" />
        <id>http://softlab.masa-lab.net/modules/d3blog/details.php?bid=212</id>
        <published>2016-02-04T21:29:30+09:00</published>
        <updated>2016-02-25T19:44:12+09:00</updated>
        <category term="Delphi" label="Delphi" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="http://softlab.masa-lab.net/" xml:lang="ja">RAD Studio XE7既存のプロジェクトを git で管理しようとgit init をしてからRAD Studio でGit - コミット - リポジトリルート以下からコミットしたところエラーが発生してしまいました！gitk を起動...</summary>
       <content type="html" xml:lang="ja" xml:base="http://softlab.masa-lab.net/">
<![CDATA[<div>RAD Studio XE7<br /><br />既存のプロジェクトを git で管理しようと<br />git init をしてから<br />RAD Studio で<br />Git - コミット - リポジトリルート以下<br />からコミットしたところ<br />エラーが発生してしまいました！<br /><br />gitk を起動してみたところ<br />リビジョン解析エラー<br />となります<br /><br />無視して git gui を起動すると<br />日本語ファイル名のついたファイルだけが add されていない状態。<br />git gui から add してコミットしたところ、無事完了して一安心<br /><br />日本語ファイル名があるとだめなのかな？</div>]]>
       </content>
    </entry>
    <entry>
        <title>DesignVisible がなくなった？</title>
        <link rel="alternate" type="text/xhtml" href="http://softlab.masa-lab.net/modules/d3blog/details.php?bid=201" />
        <id>http://softlab.masa-lab.net/modules/d3blog/details.php?bid=201</id>
        <published>2015-09-18T21:30:00+09:00</published>
        <updated>2016-02-25T19:41:11+09:00</updated>
        <category term="FireMonkey" label="FireMonkey" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="http://softlab.masa-lab.net/" xml:lang="ja">XE5 で作っていたアプリケーションを 10 Seattle でコンパイルしてみましたFMX.Controls.TControl.DesignVisible がなくなっているようでエラーが...ちょっと便利に使っていたりしたので、困ってしま...</summary>
       <content type="html" xml:lang="ja" xml:base="http://softlab.masa-lab.net/">
<![CDATA[<div>XE5 で作っていたアプリケーションを 10 Seattle でコンパイルしてみました<br /><br />FMX.Controls.TControl.DesignVisible がなくなっているようで<br />エラーが...<br /><br />ちょっと便利に使っていたりしたので、困ってしまいました...<br />結構色々変わりますねー</div>]]>
       </content>
    </entry>
    <entry>
        <title>PAServer バージョン</title>
        <link rel="alternate" type="text/xhtml" href="http://softlab.masa-lab.net/modules/d3blog/details.php?bid=197" />
        <id>http://softlab.masa-lab.net/modules/d3blog/details.php?bid=197</id>
        <published>2015-09-18T21:00:00+09:00</published>
        <updated>2016-02-25T19:27:03+09:00</updated>
        <category term="Delphi" label="Delphi" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="http://softlab.masa-lab.net/" xml:lang="ja">最近の PAServer のバージョン番号は RADStudioの内部バージョン番号と同じです。前の方が分かりやすかったんだけど...自分で使っていたバージョンの組み合わせをメモっておきます
 XE5 | RAD ...</summary>
       <content type="html" xml:lang="ja" xml:base="http://softlab.masa-lab.net/">
<![CDATA[<div>最近の PAServer のバージョン番号は RADStudioの内部バージョン番号と同じです。<br />前の方が分かりやすかったんだけど...<br /><br />自分で使っていたバージョンの組み合わせをメモっておきます<br /><br /><pre class="blogCode"><code>
 XE5 | RAD PAServer XE5 | XCode 4.6.3?
(XE6 | RAD PAServer XE6 | XCode 4.6.3?)
 XE7 | PAServer 15.0 | XCode 5.1.1? | (PAServer Manager)
(XE8 | PAServer 16.0 | Yosemite | XCode 6.3.2? | (PAServerManager))
 10  | PAServer-17.0 | Yosemite | XCode 6.3.2? | (PAServerManager)
</code></pre><br /><br />ところで PAServerManager って以前は PAServer Manager だったのね<br />何か違うのかな？<br /><br /><br />XCode 6.3.2 iOS 7.1, 8.1, 8.2</div>]]>
       </content>
    </entry>
    <entry>
        <title>FireMonkey XE8 クロスプラットフォームでの画像ファイルフォーマット</title>
        <link rel="alternate" type="text/xhtml" href="http://softlab.masa-lab.net/modules/d3blog/details.php?bid=193" />
        <id>http://softlab.masa-lab.net/modules/d3blog/details.php?bid=193</id>
        <published>2015-06-23T18:10:11+09:00</published>
        <updated>2015-09-16T11:07:12+09:00</updated>
        <category term="FireMonkey" label="FireMonkey" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="http://softlab.masa-lab.net/" xml:lang="ja">それぞれのプラットフォームで扱えるビットマップデータの種類は以下の模様です。 Windows ＝ bmp, gif, jpg, hdp, ico, png, .tif MacOS ＝ bmp, icns, jpg, gif, png, tif, tga iOS ＝ jpg, png Android ＝ gif, jpg, pngiOS...</summary>
       <content type="html" xml:lang="ja" xml:base="http://softlab.masa-lab.net/">
<![CDATA[<div>それぞれのプラットフォームで扱えるビットマップデータの種類は以下の模様です。<br /> Windows ＝ bmp, gif, jpg, hdp, ico, png, .tif<br /> MacOS ＝ bmp, icns, jpg, gif, png, tif, tga<br /> iOS ＝ jpg, png<br /> Android ＝ gif, jpg, png<br /><br />iOS のことを考えると jpg, png の2択<br />写真系なら jpg 通常の画像なら png ということ<br /><br /><a href="http://docwiki.embarcadero.com/Libraries/XE8/ja/FMX.Graphics.TBitmapCodecManager#.E3.82.B5.E3.83.9D.E3.83.BC.E3.83.88.E3.81.95.E3.82.8C.E3.81.A6.E3.81.84.E3.82.8B.E7.94.BB.E5.83.8F.E5.BD.A2.E5.BC.8F" target="_blank">FMX.Graphics.TBitmapCodecManager</a></div>]]>
       </content>
    </entry>
    <entry>
        <title>RAD Studio で GIT を使う (3)</title>
        <link rel="alternate" type="text/xhtml" href="http://softlab.masa-lab.net/modules/d3blog/details.php?bid=183" />
        <id>http://softlab.masa-lab.net/modules/d3blog/details.php?bid=183</id>
        <published>2015-04-17T15:40:35+09:00</published>
        <updated>2015-06-19T11:38:20+09:00</updated>
        <category term="Delphi" label="Delphi" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="http://softlab.masa-lab.net/" xml:lang="ja">■リモートへの接続■SSH接続の鍵設定(鍵の生成)接続するたびにパスワードを入力するのは大変なので、SSH接続鍵を交換します。まずは自分の SSH接続鍵があるか確認。git bash で
ls ~/.ssh
...</summary>
       <content type="html" xml:lang="ja" xml:base="http://softlab.masa-lab.net/">
<![CDATA[<div>■リモートへの接続<br /><br />■SSH接続の鍵設定(鍵の生成)<br /><br />接続するたびにパスワードを入力するのは大変なので、SSH接続鍵を交換します。<br /><br />まずは自分の SSH接続鍵があるか確認。<br /><br />git bash で<br /><pre class="blogCode"><code>
ls ~/.ssh
</code></pre><br />ここで id_rsa や id_rsa.pub があれば、その鍵を利用できるので、以下はスキップ<br /><br /><pre class="blogCode"><code>
ssh-keygen -t rsa -C &quot;メールアドレス&quot;
</code></pre><br />保存場所、パスフレーズなどはデフォルトのままで enter<br /><br />再度 ls ~/.ssh するとid_rsa.pub ができている筈です。<br /><br />■SSH接続の鍵設定(鍵をサーバに設定)<br /><br />対象のリモートサーバに id_rsa.pub をコピー<br />SSH して<br /><pre class="blogCode"><code>
cat id_rsa.pub &gt;&gt; .ssh/authorized_keys
</code></pre><br /><br />以上で完了<br /><br /><br />■その他<br />push しようとすると<br />bash: git-receive-pack: commad not found<br />と言われて失敗してしまいました。<br /><br />リモートサーバには正しく git をインストールして、.bashrc でパスを通してあるのですが、ssh でコマンド実行した際には .bashrc を読んでくれないため、コマンドが見つからないようです。<br /><br /><pre class="blogCode"><code>
git config remote.origin.receivepack &lt;i&gt;リモートサーバのgit binフォルダ&lt;/i&gt;/git-receive-pack
git config remote.origin.uploadpack &lt;i&gt;リモートサーバのgit binフォルダ&lt;/i&gt;/git-upload-pack
</code></pre><br />(注)リモートサーバが origin の場合<br />とします。<br /><br /><pre class="blogCode"><code>
git config -l
</code></pre><br />で確認をしてみると、なぜかパスに C:/Program Files/Git/ が追加されてしまっています！！<br />困ってしまったので、直接 .git/config をエディタで開いて修正しました。</div>]]>
       </content>
    </entry>
    <entry>
        <title>RAD Studio で GIT を使う (2)</title>
        <link rel="alternate" type="text/xhtml" href="http://softlab.masa-lab.net/modules/d3blog/details.php?bid=182" />
        <id>http://softlab.masa-lab.net/modules/d3blog/details.php?bid=182</id>
        <published>2015-04-17T15:06:59+09:00</published>
        <updated>2020-10-21T17:59:40+09:00</updated>
        <category term="Delphi" label="Delphi" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="http://softlab.masa-lab.net/" xml:lang="ja">■既存のソースをGITで管理git bash を起動既存のプロジェクトフォルダに移動
cd d:\project1
git リポジトリを初期化
git init
その後 RAD Studio からGit - コミット - リポジトリルート以下バージ...</summary>
       <content type="html" xml:lang="ja" xml:base="http://softlab.masa-lab.net/">
<![CDATA[<div>■既存のソースをGITで管理<br />git bash を起動<br /><br />既存のプロジェクトフォルダに移動<br /><pre class="blogCode"><code>
cd d:\project1
</code></pre><br /><br />git リポジトリを初期化<br /><pre class="blogCode"><code>
git init
</code></pre><br /><br />その後 RAD Studio から<br />Git - コミット - リポジトリルート以下<br /><br />バージョン管理対象外のファイルを表示する チェックを付ける<br /><br />一覧のファイルからチェックボックスにチェックを付けていく<br />.gitignore をうまく設定してあれば、全選択でいけるかも...<br /><br />■リモートリポジトリへ<br />(事前にリモート側でリポジトリを作っておく必要はない)<br />git clone --bare project1 //server/project1/project1.git<br /><br />■リモートを登録<br />git remote add origin //server/project1/project1.git<br /><br /><br />[例]<br />例えば coreserver なら<br /><a href="ssh://username@mxxx.coreserver.jp/virtual/username/git/project1/project1.git" rel="external">ssh://username@mxxx.coreserver.jp/virtual/username/git/project1/project1.git</a><br />のような感じ...<br /><br /><br /><br />[参考]<br /><a href="https://git-scm.com/book/ja/v1/Git-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E7%94%A8%E3%81%AE-Git-%E3%81%AE%E5%8F%96%E5%BE%97" target="_blank">4.2 Git サーバー - サーバー用の Git の取得</a><br /><a href="http://d.hatena.ne.jp/naokibtn/20130217/1361120970" target="_blank">既存のディレクトリをGit管理化して、それを基にリモートリポジトリを作る</a></div>]]>
       </content>
    </entry>
    <entry>
        <title>RAD Studio で GIT を使う (1)</title>
        <link rel="alternate" type="text/xhtml" href="http://softlab.masa-lab.net/modules/d3blog/details.php?bid=178" />
        <id>http://softlab.masa-lab.net/modules/d3blog/details.php?bid=178</id>
        <published>2015-04-16T22:50:00+09:00</published>
        <updated>2016-11-25T11:48:28+09:00</updated>
        <category term="Delphi" label="Delphi" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="http://softlab.masa-lab.net/" xml:lang="ja">■git をインストールgit を windows にインストールするオプションはほぼデフォルトでdownload -> https://git-scm.com/download/win■RAD Studio の設定ツール － オプション でバージョン管理 － Git を選択...</summary>
       <content type="html" xml:lang="ja" xml:base="http://softlab.masa-lab.net/">
<![CDATA[<div>■git をインストール<br />git を windows にインストールする<br />オプションはほぼデフォルトで<br />download -> <a href="https://git-scm.com/download/win" target="_blank"><a href="https://git-scm.com/download/win" rel="external">https://git-scm.com/download/win</a></a><br /><br />■RAD Studio の設定<br />ツール － オプション で<br />バージョン管理 － Git を選択<br /><br />■.gitignore の設定<br />Git で管理したくないファイルは .gitignore に書いておけば無視してくれる。<br />Delphi の場合であれば、以下のような感じ...<br /><br /><pre class="blogCode"><code>
__history/
__recovery/
*.identcache
*.dproj.local
*.groupproj.local
*.dsk
*.~dsk
*.~bpl
*.tvsconfig
*.stat
</code></pre><br />(注)<br />私は中間ファイル(*.dcu)や実行ファイル(*.exe)などの出力場所を、ソースフォルダ以外の場所にしているので上記のような感じだが、標準の設定の場合は以下も追加<br /><pre class="blogCode"><code>
*.dcu
*.exe
</code></pre><br />■共有<br />ファイル共有でリポジトリを共有することが可能<br /><br />[参考]<br /><a href="http://docwiki.embarcadero.com/RADStudio/XE7/ja/IDE_%E5%86%85%E3%81%AE_Git_%E3%82%A4%E3%83%B3%E3%83%86%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3" target="_blank">IDE 内の Git インテグレーション</a><br /><a href="http://hetarena.com/archives/1447" target="_blank">Windows ファイルサーバーと Git</a></div>]]>
       </content>
    </entry>
</feed>