Перенос отчета на комп без установленног Fastreport.net

отредактировано 17:10 Раздел: FastReport .NET
Здравствуйте!..установил на компьютер FastReport.net. Создал проект (WindowsWorms) на VisualStudio 2008 (язык C#), набор отчетов .frx
Просмотр отчетов осуществляется из моего проекта c PreviewControl. Интерфейс PreviewControl (кнопки закрыть,экспорт,....) полностью на русском языке.
Затем беру свой проект с отчетами и переношу на комп, где FastReport не установлен и при вызове отчета интерфейс PreviewControl становится полностью на английском. Подскажите, как сделать так чтобы он был на русском...

Комментарии

  • отредактировано 17:10
    Здравствуйте,

    Нужно положить файл Russian.frl (из папки Localization) рядом со своим .exe.
  • отредактировано 17:10
    Спасибо))
  • отредактировано 17:10
    Добрый день, а не подскажите, можно ли подгружать Russian.frl из ресурсов .exe, что бы был один .exe файл и рядом ничего не лежало?
  • отредактировано 17:10
    Здравствуйте,

    Можно. Для этого надо добавить файл локализации в свой проект, установить ему build action = EmbeddedResource и загрузить его следующим образом:
    // здесь Demo - название сборки приложения, Russian.frl - название файла локализации
    Stream stream = this.GetType().Assembly.GetManifestResourceStream("Demo.Russian.frl"); 
    Res.LoadLocale(stream);
    

  • отредактировано 17:10
    Спасибо, Вы уже в другой теме про этого говорили, не нашёл сразу (.

    Ещё один вопрос, можно ли добавить .dll FastReport в проект (.exe) и динамически подгружать их? я пробовал это делать, но у меня не получилось, скорее всего не подгружаются связанные .dll, делал так: добавлял .dll в ресурсы, также устанавливал им build action = EmbeddedResource и в событии AssemblyResolve пытался подгрузить их:

    static void Main(string[] args)
    {
    AppDomain.CurrentDomain.AssemblyResolve +=
    ( sender, arg ) =>
    {
    using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(arg.Name)) // здесь имя, в зависимости от расположения ресурса
    {
    if (stream != null)
    {
    Byte[] assemblyData = new Byte[stream.Length];

    stream.Read(assemblyData, 0, assemblyData.Length);

    return Assembly.Load(assemblyData);
    }
    }
    return null;
    }
    }
  • отредактировано 17:10
    Сомневаюсь, что так получится сделать. Погуглите - данный вопрос к FastReport.Net прямого отношения не имеет.

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

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.