Как установить методы, когда наш класс не создан? - PullRequest
0 голосов
/ 17 декабря 2010

привет Позвольте мне объяснить это для вас. Я работаю над большим проектом, и у него много форм. Я не хочу, чтобы он использовал много оперативной памяти, поэтому я попытался уничтожить формы, когда они закрываются с помощью Action:=caFree, и создать их с помощью Application.CreateForm(TFrmX, FrmX), и все работает нормально. Это многоязычное приложение, поэтому оно загружает заголовки компонентов формы и текст из внешнего файла. У меня не было другого выбора, кроме загрузки файла в память и замены строк при каждом создании формы. Как вы знаете, это делает создание формы немного медленнее, но я не знаю, как изменить сам класс во время выполнения, чтобы я заменял подписи и тексты при загрузке приложения и просто создавал формы, и таким образом приложение не имеет заменить их при создании форм; Вот так (просто пример, он не работает!): TfrmX.Label1.Caption := 'sth'

Что я могу сделать?

Ответы [ 3 ]

2 голосов
/ 17 декабря 2010

Поскольку утилиты Delphi Localization довольно спартанские, вы можете взглянуть на http://dxgettext.po.dk. Мы используем его для нескольких проектов, и он отлично работает!Просто добавьте дополнительный текстовый файл в вашу установку для каждого перевода, который вы хотите.Это также позволяет пользователям легко делать свои собственные переводы.

1 голос
/ 17 декабря 2010

Delphi поддерживает интернационализацию, я думаю, что вам лучше взглянуть на уже имеющиеся инструменты и методы, чем пытаться придумать собственный механизм.

Взгляните на Брюса МакГиответ на этот вопрос ... Это хорошее начало.

Delphi и i18n

Если вы действительно хотите продолжать работу над своим собственным решением, то кем бы я былсклонен сделать это просто установить свойства текста в экземпляре после создания.

0 голосов
/ 17 декабря 2010

Это не может быть сделано.Код, который вы дали, можно запускать только на экземплярах, а не на ссылках на классы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...