Я протестировал собственный класс с помощью инъекции зависимостей, и теперь я должен реализовать его в производстве. Ниже приводится выдержка из моего класса и соответствующего интерфейса:Прохождение классов к интерфейсам
ITableDB = interface
['{171DE959-8604-4CD3-ACEA-ACCE15E95621}']
procedure Close;
procedure Open;
...
end;
TNewStrategy=class(TObject)
private
FTableDB: ITableDB
.....
public
constructor Create (ATableDB: ITableDB....)
end;
Вместо издевается и окурки, которые я должен обеспечить класс реальных объектов в настоящее время. Это несколько компонентов третьей части, которые я разместил в форме во время разработки. Вот один пример:
type
TForm1 = class(TForm)
ThirdyPartDBTable1: ThirdyPartDBTable;
NewStrategy: TNewStrategy;
private
{ Private declarations }
public
{ Public declarations }
end;
Как я могу передать ThirdyPartDBTable1 в TNewStrategy.Create? Я попытался следующий код:
TMyThirdyPartDBTable = class(ThirdyPartDBTable, IITableDB)
public
procedure Close;
procedure Open;
...
end;
Но когда я пытаюсь изменить ThirdyPartDBTable1: ThirdyPartDBTable
в ThirdyPartDBTable1: TMYhirdyPartDBTable;
компилятор изменяет ссылка TMYhirdyPartDBTable обратно ThirdyPartDBTable.
Как последняя попытка не работает? –
Извините, это была только опечатка в вопросе здесь. Все еще не работает. –
Последняя попытка компилируется, но компилятор все еще меняет ссылку, как упоминалось выше. Теперь я удалил часть, вызывающую путаницу. –