반응형

TIOBE에서 한동안 순위에서 밀리던 델파이가 최근 상승세를 타는 것 같습니다.

국내에서는 거의 사용이 안되어 가고 있는데 글로벌하게는 관심이 높아지고 있는 것 같아서

델파이를 사랑하는 개발자로서 기분이 좋네요~


http://www.tiobe.com/tiobe-index/




반응형
반응형

델파이에서 키보드 나 마우스 입력이 일정 시간동안 시스템에 발생 되지 않을 때 특정 기능(로그아웃 등)을


하려면 다음과 같이 할 수 있다.


일단 Timer를 폼에 떨어 트려 놓고 지연시간을 얻는 함수를 만든다.


function Form1.SecondsIdle: Cardinal;
var liInfo: TLastInputInfo;
begin
    liInfo.cbSize := SizeOf(TLastInputInfo);
   GetLastInputInfo(liInfo);

   Result := (GetTickCount - liInfo.dwTime) div 1000;
end;


타이머의 Timer 이벤트에서 지연시간이 일정시간 이상이 되면 특정 기능을 처리 한다.

procedure Form1.Timer1Timer(Sender: TObject);
begin
    if SecondsIdle >= 1800 then begin   // 30분
        Timer1.Enabled := false;

        // 특정 기능 처리
end;
반응형
반응형

1. 비지니스 룰 단위의 별도 클래스 분리설계 시
TDataModule상의 TDataset과 연동문제는 어떻게 해결 해야 할지 ?
-- 즉, TDataset 및 연결된 TDataSource, TUpdateSQL등의 Event Procedure 처리가 분리된 클래스에서
처리할 수 없으므로 이벤트 처리는 여전히 TDataModule상에서 해야 하는 문제.
<방안1>
해당 비지니스 룰 클래스를 TDataModule을 상속 받게 만든다.

2. 1번의 방안1에 의해 DataModule 을 상속받은 클래스를 만들 때, 해당 Unit 내에서 또다른 클래스를 만들 때
DataModule을 상속받은 클래스가 메인 폼에서 동적으로 생성되는 클래스 라면 접근 상의 문제 발생은 어떻게 ?
또한 DataModule 상속 클래스와 다른 클래스 간의 coupling 이 존재 한다면 DataModule 상속 클래스 와
다른 클래스를 별도로 생성 및 관리를 해야 좋을지 아니면 DataModule 상속 클래스 내에서 다른 클래스를
멤버변수로 가져 가야 할지도 고민.

3. 1번과 비슷한 경우로, TDataModule 상속받은 클래스 와 TForm을 상속 받은 클래스 간에
DataSet, DataSource등의 event 발생시 TForm 상속 클래스에서 어떤 처리를 해야 할때 어떻게 해야 하는가?
(예) DataSource의 OnDataChange 이벤트 때마다 폼에서 어떤 처리를 해야 한다고 할때
어떻게 해야 uncouping 하면서도 원하는 처리를 구현 할 수 있을까?

반응형

+ Recent posts