Feb 12

  我 Delphi XE8 發生過兩次在切換 (F12) 成 Form/Unit 的圖形介面時Delphi 直接 CrashWindows 紀錄會有以下兩筆

來源: Application Error
失敗的應用程式名稱: bds.exe
失敗的模組名稱: Castalia220.bpl

來源: Windows Error Reporting
事件名稱: APPCRASH
問題簽章:
P1: bds.exe
P4: Castalia220.bpl

繼續瀏覽 »

Nov 12

  今天想測試 Delphi 連結 AD 的功能網路上教學說可以透過「Component → Import Compont」來匯入但實際操作時卻出現存取 OLE 登錄時發生錯誤。” 的錯誤訊息

繼續瀏覽 »

Feb 19

  Quick Report 在 1920*1080 解析度加上 125% 以上的顯示設定環境時會發生「預覽列印」的比例不對(過大或過小),但實際印出來是正常的情形如果要修正需要在編譯環境修正 Quick Report 的 qrprntr.pas 檔有兩種修正方式

繼續瀏覽 »

Jul 11
unit unit1;

interface

uses
  Windows, Messages....

type
  TFormName = (Casefm1, Casefm2, Casefm3);

function xxx(): Boolean;
var
  StrFormName: String;
  CaseFormName: TFormName;
begin
  StrFormName := 'Case' + vFormName; 
  // 將 FormName(物件) 與 TFormName(值) 做區隔。
  // (vFormName為帶有各FormName的字串變數)
  CaseFormName := TFormName(GetEnumValue(TypeInfo(TFormName), StrFormName));

  case CaseFormName of
    Casefm1:
      begin
        ..............
      end;

    Casefm2:
      begin
        ..............
      end;

    Casefm3: 
      begin
       ...............
      end;

【參考連結】

Jul 11

Delphi 選單似乎一直都有字型會變回預設值 (8, Tahoma) 的問題國外有人提問但沒有解決方式目前我能想到的暫時解法是設定一個功能鍵 (可設為熱鍵),讓 user 遇到字型變小時自行重置字型大小。(測試過程可透過變更 Windows 顯示大小百分比來讓選單字型變回預設值)

procedure Tmainform.N93Click(Sender: TObject);
begin
  Screen.MenuFont.Size := 12;
  xxxxxx.BringToFront; // 改變畫面焦點,以刷新選單畫面。
end;

【參考連結】

Jul 11
procedure TfmQAB.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
if (Msg.CharCode = 116)  and (HiWord(GetKeyState(VK_CONTROL)) = 1)  then 
  begin
    ......
  end
end;

【參考連結】

Jul 11
var
  vTime, vTime1, vTime2: double;
begin
  vTime1 := GetTickCount();
  vTime2 := GetTickCount();
  vTime := (vTime2 - vTime1) / 1000;
  Showmessage(floatToStr(vTime) + 's');
end;

【參考連結】

Nov 23

  前兩週公司網路架構大翻修忙到不可開交在修改print server的IP時有兩顆很機歪一開始先是不讓我改後來改好後變成只要閒置一段時間他就會斷線試了一整天最後放棄就抓了個小程式放在Server讓程式每隔30秒就對print server來ping一下

繼續瀏覽 »