Главная страница
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.024 c
1-1092724954
DK
2004-08-17 10:42
2004.09.05
RTTI


3-1091906797
Денисыч
2004-08-07 23:26
2004.09.05
Поддерживает ли технология dbexpress Firebird ?


14-1092505555
TRyaSS
2004-08-14 21:45
2004.09.05
Слияние с минимальным числом сравнений


8-1087813662
PenguinX
2004-06-21 14:27
2004.09.05
Опять FastDIB :))


14-1092750536
peypivo
2004-08-17 17:48
2004.09.05
Кондиционер