Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

Аналог TStringAdapter в КОЛ ?   Найти похожие ветки 

 
DmiSb   (2004-08-17 07:39) [0]

Уважаемые мастера, подскажите есть ли такая штука в КОЛ ?


 
DmiSb   (2004-08-17 12:33) [1]

Виноват, нужен аналог TStreamAdapter


 
Gandalf ©   (2004-08-17 23:20) [2]

Нет таких - есть Stream


 
DmiSb   (2004-08-18 08:32) [3]

Может кто подскажет как привести тип PStream в IStream. В VCL для этого используется сл. структура:
 
 IStream:=TStreamAdapter.Create(TStream);

У меня не получается создать аналог TStreamAdapter
Пишу следующее (при этом делаю замену Sysdcu на КОЛовские):
 
TKOLStreamOwnership = (soReference, soOwned);

 PKOLStreamAdapter = ^TKOLStreamAdapter;
 TKOLStreamAdapter = class(TInterfacedObject, IStream)
 private
   FStream: PStream;
   FOwnership: TKOLStreamOwnership;
 public
   constructor Create(Stream: PStream; Ownership: TKOLStreamOwnership = soReference);
   destructor Destroy; override;
   property Stream: PStream read FStream;
   property StreamOwnership: TKOLStreamOwnership read FOwnership write FOwnership;
 end;

Выходят ошибки
[Error] MainU.pas(71): Undeclared identifier: "Seek"
[Error] MainU.pas(71): Undeclared identifier: "SetSize"
[Error] MainU.pas(71): Undeclared identifier: "CopyTo"
[Error] MainU.pas(71): Undeclared identifier: "Commit"
[Error] MainU.pas(71): Undeclared identifier: "Revert"
[Error] MainU.pas(71): Undeclared identifier: "LockRegion"
[Error] MainU.pas(71): Undeclared identifier: "UnlockRegion"
[Error] MainU.pas(71): Undeclared identifier: "Stat"
[Error] MainU.pas(71): Undeclared identifier: "Clone"
[Error] MainU.pas(71): Undeclared identifier: "Read"
[Error] MainU.pas(71): Undeclared identifier: "Write"

То есть не понятны методы интерфейса IStream, хотя IStream описан
в файле system для КОЛ. Получается для КОЛ Интерфейсы строятся по
другому. Может кто знает, в чем соль ?


 
SPeller ©   (2004-08-18 12:58) [4]

Все ненайденные методы должны быть описаны в твоем объекте. Сначала научитесь работать с интерфейсами вообще, а уж потом в КОЛ их пристраивайте.


 
DmiSb   (2004-08-18 13:29) [5]

Да я вроде и не говорил, что являюсь специалистом по интерфейсам. Реализация для VCL взята из инета, она прекрасно работает. Мне не пришлось никакие интерфейсы изучать. Но для КОЛ нужно это делать как-то по другому. Вот и задал вопрос. Согласен на любую помощь. Тока просьба не материть.  

>2 Speller
Я начал учиться, просто попалось это.


 
SPeller ©   (2004-08-18 15:17) [6]

Кстати, я не посмотрел. У вас всё-равно класс, поэтому KOL ткт абсолютно непричем. Указатель на класс - это извращенство, потому как классовая переменная - это уже указатель.



Страницы: 1 вся ветка

Текущий архив: 2004.09.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
14-1092635591
Vlad Oshin
2004-08-16 09:53
2004.09.05
http://www.lenta.ru/internet/2004/08/12/winxp/


1-1092846426
dimon1979
2004-08-18 20:27
2004.09.05
Гиперссылка


4-1090459452
Алексей
2004-07-22 05:24
2004.09.05
запустить консольное приложение из программы


14-1092585739
Юрий Зотов
2004-08-15 20:02
2004.09.05
И снова о том, как полезно владеть литературной речью


3-1092120059
Fynjy
2004-08-10 10:40
2004.09.05
DBGridEh и STFilter