Недооцененная фича, при грамотном подходе позволяет в пару строк делать сложные штуки впроде DataSnap.
зачем? это давно морально устарело. есть более современные методы если говорить о DataSnap, то не вижу аналогии. все стремятся унифицировать протоколы, чтобы можно было не задумываясь писать на разных языках. typed file ни разу не тянет на кросс фичу
Это по сути типизация стандартного ввода-вывода. То есть можно будет древними стандартными функциями гонять строки, массивы, варианты через сокеты, пайпы, файлы..
дак в typed file нет никакого капота. точнее юзеру он недоступен. есть сериализаторы. их надо развивать. одного json недостаточно. их опять же typed file тут не место
Обычный type file под капотом это record, в котором есть ссылки на функции read() и write(), что позволяет переопределять операции чтения-записи на свои.
Я логи пишу через обычный WriteLn(LogFile, 'test'), который может ссылаться на "пустышку", а может писать и в консоль, и в файл, и куда мне угодно. Через TTextWriter это сложнее.
Я логи пишу через обычный WriteLn(LogFile, 'test'), который может ссылаться на "пустышку", а может писать и в консоль, и в файл, и куда мне угодно. Через TTextWriter это сложнее.
это твой выбор. современный путь делфи несколько иной. TStream как раз и был сделан, что не задумываться об источнике данных. подкладываешь нужную реализацию получаешь файл, память, сеть и тд
это твой выбор. современный путь делфи несколько иной. TStream как раз и был сделан, что не задумываться об источнике данных. подкладываешь нужную реализацию получаешь файл, память, сеть и тд
У TStream нет стандартного абстрактного интерфейса. Вернее есть конкретно для OLE/COM и оно не совместимо с TStream.