2012-02-24 3 views
2

TIniFile.Create 생성자를 재정의하는 방법은 무엇입니까?TIniFile.Create를 재정의하는 방법?

이 코드는 만들기 때문에 작동하지 않는 것은 정적 :이 가상하지 않기 때문에

TMyIniFile = class(TIniFile) 
    protected 
    public 
    constructor Create (CONST AppName: string); override; <------ Error 'Cannot override a non-virtual method' 
    end; 

답변

6

당신은 TIniFile의 생성자를 재정의 할 수 없습니다. ini 파일 클래스는 가상 생성자를 사용하지 않습니다.

코드에서 override 만 제거하면됩니다.

TMyIniFile = class(TIniFile) 
public 
    constructor Create(const AppName: string); 
end; 

이처럼 구현 :

MyIniFile := TMyIniFile.Create(MyAppName); 
+2

이'TMemIniFile'이 바로 이러한 작업을 수행하는 것입니다 :

constructor TMyIniFile.Create(const AppName: string); begin inherited Create(FileName);//I can't tell what you need as FileName FAppName := AppName; end; 

당신이 이런 식으로 그렇게를 만들어야합니다. –

관련 문제