вторник, 24 сентября 2013 г.

Что ещё умеет наш фреймворк?

А ещё он умеет "локализовывать" строки.

Вместо типа String мы используем TafwString. Который определяется как-то так:

type TvcmString = object
 rKey : String;
 rValue : String;
 ...
 function Value: String;
 ...
end;//TvcmString

var
 SomeString : TvcmString = (rKey : 'SomeStringKey'; rValue : 'Это значение строки');

...

initialization
 SomeString.Register;

в чём цимес?

А в том, что эти строки регистрируются в глобальном менеджере строк. Который умеет сохранять их (в некий аналог ini-файла) и читать "скопом". А также умеет "переводить". Клиенты используют ТОЛЬКО функцию Value. Соответственно - мы всегда можем локализовать наше приложение.

Таких решений - на просторах интернета - масса. Но мы его к себе инкорпорировали. Только и всего.

Ну и конечно это генерируется из UML. Для упрощения жизни.

Но можно и руками писать. Как и ВСЁ, что генерируется из UML.

Комментариев нет:

Отправить комментарий