опубликован 04-07-2001 21:56 MSK
Я пользуюсь компонентами Indy для написания программ. Там в классе для работы с FTP есть функция
получения данных из файла в поток (Stream). Я хочу не просто получать данные в поток, я хочу четко
контролировать, что туда записали и когда. Я попробывал сделаь так - создать класс на базе TStream и
переопределить все его виртуальные функции. Вроде все переопределил, но вот только компилятор ругается
дескать мой наследованный класс - абстрактный, следовательно создать его невозможно. Хотя я вроде всё
переопределил... вот как я это сделал:class CDownloadStream : public TStream
{
public:
__fastcall CDownloadStream()
{
int a = 0;
}
__fastcall ~CDownloadStream()
{
int a = 0;
}
int __fastcall Write(const void *Buffer, int Count)
{
int a = 0;
}
int __fastcall Read(const void *Buffer, int Count)
{
int a = 0;
}
void __fastcall SetSize(int NewSize)
{
int a = 0;
}
int __fastcall Seek(int Offset, Word Origin)
{
int a = 0;
}
};
Не работает... что делать? А вообще, получится ли у меня то, что я задумал? Т.е. библиотека будет вызывать тот же Write()
для записи в поток. Но вместо того, чтобы писать эти данные в файл, как например это делает TFileStream. Я буду их просто
анализировать и выводить куда мне нужно не сохраняя данных. Вот так... с нетерпением жду ответа.