Создание дистрибутива с Fr 1.2.26

отредактировано 17:50 Раздел: FastReport .NET
Добрый день!

Имеется VS 2008 PE. И FastReport .NET 1.2.26 Demo

У меня на компе все работает и компилируется. Попробовал создать дистрибутив программы и установить на соседний комп. Установилось, но вот в этом месте программы (вторая строка) выдает ошибку 5 (аргумент не правильный). Проверил userInput - не пустой, данные корректные (отчет).

FReport = New Report
---> FReport.Load(userInput)
FReport.SetParameterValue("MyParamIndex", CurrentRecord.Index)
FReport.SetParameterValue("MyParamConnection", ConnectionString)
If FReport.Prepare() Then FReport.ShowPrepared()

NET Framework установлен. Другой софт (без FR) работает корректно. Все dll, которые идут с проектом - скопированы. Решил, что еще что то нужно: установил FR и на этот комп - все равно ошибка. Что еще посмотреть и поправить???

Спасибо!

Комментарии

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

    Приведите, пожалуйста, стек ошибки.
  • отредактировано 17:50
    AlexTZ написал: »
    Здравствуйте,

    Приведите, пожалуйста, стек ошибки.

    Как это получить?

    На машине студии нет, там только установлена программа... И по on error goto я вываливаюсь в ошибку, которую и написал.

    PS Обновился до 1.4.25 (сейчас скачал), установил на вторую машину скомпилированную программу - та же ситуация :)
  • отредактировано 17:50
    Маловато информации...
    Возможные причины:
    - не найден файл отчета с указанным именем
    - в отчете используется chart, а ms chart control не установлен
    - не найдены dll fastreport'a (не скопированы в каталог с .exe)
  • отредактировано 17:50
    AlexTZ написал: »
    Маловато информации...
    Возможные причины:
    - не найден файл отчета с указанным именем
    - в отчете используется chart, а ms chart control не установлен
    - не найдены dll fastreport'a (не скопированы в каталог с .exe)

    Да нет, все вроде есть из этого:
    - файл отчета берется с базы (поток). Проверено: размер потока имеет верное значение.
    - chart и т.п. не используется
    - в каталоге с экзешником лежат:
    FastReport
    FastReport.Bars
    ...скопировал все, что лежит в соответствующем каталоге от VS /release/bin

  • отредактировано 17:50
    Мне нужен стек ошибки, не могу ничего сказать. Попробуйте сделать простейший проект с использованием FR и запустите на этой машине.
  • отредактировано June 2010
    AlexTZ написал: »
    Мне нужен стек ошибки, не могу ничего сказать. Попробуйте сделать простейший проект с использованием FR и запустите на этой машине.

    Вот, более подробное исследование:

    (На рабочей машине, с установленной VS, FastReport и т.д. все работает корректно.)

    На ОТДЕЛЬНЫЙ компьютер установлена скомпилированная программ (+ все необходимые компоненты).
    Дополнительно убраны перехватчики ошибок.
    При вызове отчета выходит следующее сообщение:

    Не могу найти объект MySqlDataConnection

    Детали:

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    FastReport.Utils.ClassException: Не могу найти объект MySqlDataConnection
    at FastReport.Utils.FRReader.Read()
    at FastReport.Base.DeserializeSubItems(FRReader reader)
    at FastReport.Base.Deserialize(FRReader reader)
    at FastReport.Data.Dictionary.Deserialize(FRReader reader)
    at FastReport.Utils.FRReader.Read(IFRSerializable obj)
    at FastReport.Report.DeserializeSubItems(FRReader reader)
    at FastReport.Base.Deserialize(FRReader reader)
    at FastReport.Report.Deserialize(FRReader reader)
    at FastReport.Utils.FRReader.Read(IFRSerializable obj)
    at FastReport.Report.Load(Stream stream)
    at Abiturient.FrmMain.ReportPrint(Object sender, EventArgs e) in C:\VBWork\Student New\Student\FrmMain.vb:line 3023
    at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
    at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
    at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
    at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
    at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
    at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
    at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
    at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
    at System.Windows.Forms.ToolStrip.WndProc(Message& m)
    at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    Abiturient
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///c:/Program%20Files/SM%20Soft/Abiturient/Abiturient.exe
    Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
    System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    FastReport
    Assembly Version: 1.4.25.0
    Win32 Version: 1.4.25.0
    CodeBase: file:///c:/Program%20Files/SM%20Soft/Abiturient/FastReport.DLL
    System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
    MySql.Data
    Assembly Version: 5.0.9.0
    Win32 Version: 5.0.9.0
    CodeBase: file:///c:/Program%20Files/SM%20Soft/Abiturient/MySql.Data.DLL
    System.Transactions
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
    System.EnterpriseServices
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

    Конец Детали *********************************************



    В рабочий каталог с программой скопированы ВСЕ! Dll, от FR и MySQL. - не работает.

    Установил FR - проблема не решилась.

    Открыл дизайнер отчета и в плагинах добавил скомпилированную ранее FastReport.MySQL.dll
    (расположив ее в том же месте, что и на РАБОЧЕЙ машине) - проблема РЕШИЛАСЬ.

    При копировании этой длл в каталог программы (и удалении ссылки на ее из плагинов дизайнера)
    - ошибка возникает снова. Отсюда сделан вывод, что ссылка на эту длл в ОТЧЕТЕ сидит абсолютная


    Вопрос:

    Что и где переназначить в отчете (видимо?), чтоб эта длл бралась от программы, а не от FR

    PS/ В отчете ничего такого не нашел :) может в проекте программы добавить референс на эту длл по типу такого (скопировал из текста деталей выше)?:
    MySql.Data
    Assembly Version: 5.0.9.0
    Win32 Version: 5.0.9.0
    CodeBase: file:///c:/Program%20Files/SM%20Soft/Abiturient/MySql.Data.DLL

  • отредактировано 17:50
    Еще дополнительно:

    Проверял на РАБОЧЕЙ машине, где компилировался проект.

    К проекту добавил референс на FastReport.MySQL.dll, установил копировать в локальную папку. Скомпилировал. Исходную длл скрыл, оставил только в папке с программой - не работает: хочет чтобы длл лежала там, откуда была добавлена плагином к дизайнеру.

  • отредактировано 17:50
    Плагин надо зарегистрировать так (один из способов, описанных в readme.txt):

    3) register the dll programmatically
    - add the "FastReport.MySQL.dll" reference to your project;
    - execute the following code once at the application start:
    FastReport.Utils.RegisteredObjects.AddConnection(typeof(MySqlDataConnection));

    В этом случае плагином к дизайнеру (Вид/Настройки/Плагины) добавлять не надо.
  • отредактировано 17:50
    AlexTZ написал: »
    Плагин надо зарегистрировать так (один из способов, описанных в readme.txt):

    3) register the dll programmatically
    - add the "FastReport.MySQL.dll" reference to your project;
    - execute the following code once at the application start:
    FastReport.Utils.RegisteredObjects.AddConnection(typeof(MySqlDataConnection));

    В этом случае плагином к дизайнеру (Вид/Настройки/Плагины) добавлять не надо.

    Прочитал. Спасибо за подсказку!

    Только еще помочь бы чуток :)

    в референсах библиотеку добавил,
    эту строку: FastReport.Utils.RegisteredObjects.AddConnection(typeof(MySqlDataConnection)) вставил первой в программе: ругается, что Name 'MySqlDataConnection' is not declared


    Спасибо :)
  • отредактировано 17:50
    Видимо, надо добавить uses FastReport.Data
    или обратиться полностью: ...typeof(FastReport.Data.MySqlDataConnection)
  • отредактировано 17:50
    AlexTZ написал: »
    Видимо, надо добавить uses FastReport.Data
    или обратиться полностью: ...typeof(FastReport.Data.MySqlDataConnection)


    Я согласен, что я тупой дурак :) но снова чего то не то:

    Private Sub ReportPrint(ByVal sender As System.Object, ByVal e As System.EventArgs)
    FastReport.Utils.RegisteredObjects.AddConnection(TypeOf (FastReport.Data.MySqlDataConnection))

    Error 1 'MySqlDataConnection' is a type in 'Data' and cannot be used as an expression
    Error 2 'Is' expected. (между последними скобками)





  • отредактировано 17:50
    На VB код выглядит так:

    FastReport.Utils.RegisteredObjects.AddConnection(GetType(FastReport.Data.MySqlDataConnection))
  • отредактировано 17:50
    AlexTZ написал: »
    На VB код выглядит так:

    FastReport.Utils.RegisteredObjects.AddConnection(GetType(FastReport.Data.MySqlDataConnection))

    СПАСИБО!!!! РАБОТАЕТ!

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

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