Я столкнулся с некоторой ошибкой, из-за которой просто не могу найти подходящую подсказку в сети. Надеюсь, один из вас может указать мне правильное направление.
Простая проблема: у меня есть класс, унаследованный от TObject. У меня есть конструктор с именем Create, и я хочу вызвать Inherited в самой первой строке единственного конструктора.
Не работает!
При компиляции я получаю
[dcc32 Fehler] ULSRAware.pas (58): E2008 Несовместимый Typen
Если я комментирую унаследованное, оно прекрасно компилируется, но во время выполнения при создании объекта, в то время как я могу регулярно обращаться к методам (например, к некоторому частному методу _InitAdo), каждый доступ к свойству приводит к ошибке нарушения доступа.
Я полагаю, это происходит от вызова унаследованного, но без какого-либо достаточного успеха.
Это объявление во главе отдела. Просто чтобы упомянуть, это просто этот класс в модуле. И, конечно, в разделе реализации реализации.
type TLAConnect = class( TObject )
private
_mailHost : String;
_mailPort : Integer;
_mailUsername : String;
_mailPassword : String;
_mailAddress : String;
_sql_script_sms : String;
_sql_script_mail: String;
_sms_mail_addon : String;
//connection : TADOConnection;
(*
procedure SendMessage( recp:String; subj, body : String );
procedure _InitAdo( config_filename : String; path: String );
function GetMsgId( msg : String ) : Integer;
function GetMsgIdFromByteBit( byte, bit : String ) : Integer;
function ProcessMessage( msgId : Integer ): String;
procedure Trigger( msgId : Integer );
procedure QuittMsg( msgId : Integer );
procedure MakeMessage( _msgid : Integer; _fsms, _fmail : Boolean; _smsgl, _smsgs : String );
function CreateNewByteTrigger( byte, bit : String ) : Integer;
*)
public
Constructor Create( config : String );
Destructor Destroy; override;
//function Call( msg:String ) : Boolean;
end;
И реализация конструктора и дескриптора.
Constructor TLAConnect.Create( config : String );
begin
inherited.Create;
//self._InitAdo( config, 'lsraware ado' );
_mailHost := 'blabla';
_mailPort := 587;
_mailUsername := 'blabla_user';
_mailPassword := 'blabla_pass';
_mailAddress := 'blabal';
end;
Destructor TLAConnect.Destroy;
begin
self.connection.Free;
Inherited;
end;