フリーソフト

« 2007年5月 | トップページ | 2007年8月 »

[BCB] shlobj.hをincludeするとコンパイルエラー

#include <shlobj.h>

すると

FOLDERSETTINGSの宣言が複数見つかった
DESKBANDINFOの宣言が複数見つかった
 :

というエラーがでます。

解決するには、「プロジェクト」-「オプション」から「パスと定義」の条件定義にNO_WIN32_LEAN_AND_MEANを追加します(BDS2006の場合)。

ソースの中で
#define NO_WIN32_LEAN_AND_MEAN
してもうまくいきませんでした。

[BCB] 実行時にTActionを作成する

ActionListは設計時にForm上に配置されているものとします。

TAction *Action=new TAction(ActionList1); //TActionを作る
Action->ActionList=ActionList1; //ActionListを設定する

[BCB] マウスカーソルを消す/表示する

//消す
do { } while (ShowCursor(FALSE)<0);

//表示する
do { } while (ShowCursor(TRUE)>=0);

[BCB] FILETIMEをTDateTimeに変換

// TFileTime型をTDateTime型に変換する
TDateTime __fastcall TForm1::FileTimeToDateTime(TFileTime FileTime)
{
  TFileTime LocalTime;
  TSystemTime SystemTime;

  if ((FileTime.dwLowDateTime==0) && (FileTime.dwHighDateTime==0)) return 0;

  FileTimeToLocalFileTime(&FileTime,&LocalTime);
  FileTimeToSystemTime(&LocalTime,&SystemTime);
  return SystemTimeToDateTime(SystemTime);
}

« 2007年5月 | トップページ | 2007年8月 »