vdemidov писал(а):Да что вы говорите? Когда я начал ковырять, была функция, которая выдавала имя файла по координатам и каждый кусок кода это имя файла пользовал как хотел. И куда здесь вставлять вашу длл?
Если всё так мутно и переделывать лень, то достаточно сделать вставку в функцию выдающую имя файла по координатам. В эту функцию вставить запрос к внешней DLL имени файла. DLL придётся генерить файл и давать на него линк. Не слишком элегантное решение. И ещё, хорошо бы посылать сигнал DLL что этот файл уже не нужен. Это легко привязать к функции Close файла.
vdemidov писал(а):Но даже сейчас, есть некоторые функции SAS.Планеты, которые жестко завязаны на имена файлов и что прикажете с ними делать? Просто избавиться от них?
Ну почему-же. Достаточно связку "XY->имя файла"+"открытие файла"+"чтение файла" заменить на единую функцию. Но это в идеале.
vdemidov писал(а):А вы вообще когда-нибудь разрабатывали Plugin-API?
Да
vdemidov писал(а):Думаете все так просто?
Да
Просто чтобы понятно было, SAS.Warp я сделал с нуля за неделю.
http://forum.ru-board.com/topic.cgi?for ... &start=920vdemidov писал(а):Даже в том примере с тремя функциями, что вы привели, уже есть ошибка. Кто будет выделять память для операции Read? Если внешняя программа, то как она размер узнает, если dll, то кто и как будет освобождать?
Никакой ошибки. Я в тексте сразу указал, что функция возвращает указатель на тайл. Из текста думал понятно, что память для тайла выделяет DLL.
Далее, "SAS следует самостоятельно удалить блок памяти в Image, когда он будет обработан". То есть SAS.Планета должна удалить блок, когда он будет не нужен.