開発ブログ - 最新エントリー

VMWare Workstation が異常!

カテゴリ : 
技術メモ » VMWare
執筆 : 
2014/11/26
その日は、なんだか変な感じだったのです。
ノートンでファイルをスキャンしようとしても、うんともすんとも言わなかったので...
でもまぁいいか、と作業を続けていました。
帰りにゲストをサスペンドしてVMWareワークステーションを終了しようとすると、なんだかエラーが表示されました。

でもそのままVMWare が終了したし、疲れていたので気にせずに帰りました。

翌日VMWareを起動してみると、エラーが...
ロックフォルダを削除したり、サスペンドファイルも削除してみましたが、「内部エラー」になってしまいました。

いやぁ、焦りましたね。
その後 Windows を再起動するも、状況は変わらず。

ノートンでクイックスキャンをしようとしますが、やはり動きません。
なんだかデスクトップのアイコンが黒くなっています。

コマンドラインからクイックスキャンを起動したら動きました。
ついでにやけになって、適用せずに残っていた2個の Windows Update をして再起動
アイコンが戻っている。
VMWare を起動してみると...
わーーーー治ったぁ

原因はなんだったんだろう?
  • コメント (0)
  • トラックバック (0)

LiveBindings の文字列に注意?

カテゴリ : 
技術メモ » Delphi » LiveBindings
執筆 : 
2014/11/25
良くありますよね、%表示したい時って。
だから LiveBindings の CustomFormat に

Format('%.0f', Self.Value*100) + "%"

って書いたのですが、「書式文字列 'Format(... は正しくないか引数の型と一致しません.」というエラーが出てしまいます。

...続きを読む

  • コメント (0)
  • トラックバック (0)

Delphi で iOS の文字列定数を使う

カテゴリ : 
技術メモ » Delphi
執筆 : 
2014/11/9
Delphi から MacOS や iOS の文字列定数を使いたい時にどうすればいいのかわからなかったので、調べてみました。

こんな風にするみたい...

interface

const
  libCoreVideo = '/System/Library/Frameworks/CoreVideo.framework/CoreVideo';


function kCVPixelBufferPixelFormatTypeKey: CFStringRef;


implementation

function kCVPixelBufferPixelFormatTypeKey: CFStringRef;
begin
  Result := CFStringRef(CocoaPointerConst(libCoreVideo, 'kCVPixelBufferPixelFormatTypeKey')^);
end;

from iOSapi.CoreVideo
  • コメント (0)
  • トラックバック (0)

WMDropFiles ではまる

カテゴリ : 
技術メモ » Delphi
執筆 : 
2014/10/30
教訓!
Win32API に文字列バッファを渡す時には AllocMem ではなく SetLength すること

久々に WMDropFiles を使ったプログラムを書いていました。
日本語名のファイルをドロップすると、なんだか変なことに...

...続きを読む

  • コメント (0)
  • トラックバック (0)

変数定義をするときに、下のようなコードを書いたらエラーが発生しました。


var
hWnd: HWND;

[dcc32 エラー] xxxx.pas(26): E2007 定数または型が必要です

HWND は定義されているのになんでだよ!
みたいに怒っていました。
しまいにはこのコンパイラ壊れている!!!なんて...

...続きを読む

  • コメント (0)
  • トラックバック (0)

FireMonkey の TBitmap と VCL の TBitmap

カテゴリ : 
技術メモ » Delphi » 全般
執筆 : 
2014/10/16

FireMonkey にも VCL にも TBitmap というクラスがあり、 それぞれ VCL.Graphics, FMX.Graphics に入っています。
同じ名前なので同じようなものと思ってしまうのですが、だいぶ違うんです。

...続きを読む

  • コメント (0)
  • トラックバック (0)
↓にも同様の質問がありますが、正しい回答は得られていないようですね。

http://stackoverflow.com/questions/23712406/how-do-i-get-the-selectedvalue-of-a-combobox-from-code

いろいろ試行している限りでは、このようなアプローチでは値を取得できていません。
やっぱり LiveBindings で解決するべきなのでしょう。

でも Object をバインドすることもできるんでしょうか?
試してみなければ...
  • コメント (0)
  • トラックバック (0)
LiveBindings で ListBox に複数のフィールドをつないで表示したい時などがあります。

こんな時には ListBox の Item.Text に * を設定し、FillDisplayCustomFormat に 書式設定を以下のように行います

ToStr(Self.Field1.Value) + '~' + ToStr(Self.Field2.Value)

Item.Text に * をつなごうとしてもうまくできないかもしれません。(XE5ではできなかった)
そんな時はいったん適当なフィールドと Item.Text をつなぎ、
その LinkFillControlToField の FillDisplayFieldName を * に打ちかえます


ちなみに、次のようにもできるかも?
Item.Text に Field1 を設定し
Self.Owner.FieldByName('Field1').Value, Self.Owner.FieldByName('Field2').Value ?

Owner って何?
たとえば PrototypeBindSource に紐づけれらたTObjectBindSourceAdapter の場合は PrototypeBindSourceだった。
ふーん

Self.Options
ってやったら TListAdapterOptions 型といわれたので
Self は TListBindSourceAdapter だとみなされているみたい


Self.FindField('Field1').Value
って書いたらかけたので、やはりそうだと思います


LiveBinding でのカスタム書式設定式およびカスタム解析式の使用
  • コメント (0)
  • トラックバック (0)

LiveBinding では 列挙型は使えない

カテゴリ : 
技術メモ » Delphi » LiveBindings
執筆 : 
2014/9/3
列挙型のプロパティのあるクラスを TCustomAdapterBindSource などでバインドソースにしたのですが、列挙型のプロパティは LiveBindingデザイナに出てきませんでした。

仕方がないので、Integer にキャストしたプロパティを作って、そこから値をマップしました。

もしかしたら * と Owner を使った技で回避できるかも?
と思ってやってみましたが、うまくいきませんでした。
そもそも FindField で見つけることができませんね。
Object ならアクセスできるのですが...

LiveBindings CustomFormat で * と Self を使う
  • コメント (0)
  • トラックバック (0)

FireMonkey で poOwnerFormCenter

カテゴリ : 
技術メモ » Delphi » FireMonkey
執筆 : 
2014/8/26
Delphi XE5

なぜか FireMonkey on Windows では poOwnerFormCenter が効かないんですよね?
必ず poScreenCenter になってしまうのです。

ネットで情報を検索してみたら、とりあえずこんなのが見つかりました。

http://stackoverflow.com/questions/8195106/firemonkey-and-showing-modal-dialog-center-of-the-owner-form


Position is not implemented in FireMonkey by ShowModal.

と書いてあります!!
それはないでしょう?と思ったのですが、poOwnerFormCenter が機能しないのは事実なので、これを使ってみました。

...続きを読む

  • コメント (0)
  • トラックバック (0)
プロダクツ

開発ブログ

Link

AD