Страница 1 из 1

Designer - преобразование нового отчета с C# на VB.net - ошибки синтаксиса в коде!

Добавлено: 15 окт 2010, 09:35
Nickola
Здравствуйте! решил попробовать Ваш продукт, скачал триальную версию Stimulsoft Reports.Net Ultimate 2010.2 (2010.2.800.0)

Открываю Disigner.exe. Создается при открытии дизайнера новый пустой отчет. Заглядываю в Код отчета - в Коде синтаксис С# показывается нормально, без всяких ошибок:
Изображение

Сразу после этого иду в свойства отчета и меняю там язык с C# на VB.net - т.к. на C# я не программирую. Меня предупреждают, что код отчета будет перегенрирован. Соглашаюсь. Снова иду в Код. И там уже совсем другая картина:
Изображение

Почти весь код в ошибках: "Syntax error", "A namespace can only contain types and namespace declarations.", "Identifier_Literal expected", "Namespace expected"

Причем, после этого, если не перезапуская дизайнер создать новый пустой отчет через меню, то в нем и синтаксис на C# весь будет в ошибках, причем он будет еще более искаженный:
Изображение

Проверил на двух компах, все повторяется. Вы проверяли, вообще, как у Вас Дизайнер с VB.net работает в плане преобразования и проверки синтаксиса? Или все на C# работают, а VB.net так - для "галочки"? И почему нельзя задать язык по умолчанию для новых отчетов? :(

Designer - преобразование нового отчета с C# на VB.net - ошибки синтаксиса в коде!

Добавлено: 15 окт 2010, 10:27
Ivan
Здравствуйте.
Nickola писал(а):... Почти весь код в ошибках: "Syntax error", "A namespace can only contain types and namespace declarations.", "Identifier_Literal expected", "Namespace expected" ...
Проверил на двух компах, все повторяется. Вы проверяли, вообще, как у Вас Дизайнер с VB.net работает в плане преобразования и проверки синтаксиса?
Преобразования работают нормально. Описанная вами проблема с подчеркиванием кода - только визуальная, проявляется только на закладке Code и никак не влияет на работу приложения.
Причина - мы используем сторонний редактор кода, адаптированный под наши нужды. У него есть какая-то встроенная проверка синтаксиса, которая, как оказалось, не дружит с русскими названиями.
В данном случае, если установлен русский язык интерфейса, название отчета по умолчанию будет "Отчет", и редактор начнет ругаться на синтаксис.
Но это влияет только на отображение на закладке Code, сами отчеты при этом прекрасно компилируются и работают.
Nickola писал(а):И почему нельзя задать язык по умолчанию для новых отчетов? :(
Через интерфейс задать язык по умолчанию нельзя, это можно сделать из кода:

Код: Выделить всё

StiOptions.Engine.DefaultReportLanguage = StiReportLanguageType.VB;
Спасибо.

Designer - преобразование нового отчета с C# на VB.net - ошибки синтаксиса в коде!

Добавлено: 15 окт 2010, 12:06
Nickola
Спасибо за ответ. Но, указанная проблема проявляется странным образом. Если открывать отчет двойным щелчком из файлового менеджера - то он открывается нормально и никакого подчеркивания ошибок синтаксиса нет.

Если этот же отчет открыть из меню Файл в окне Дизайнера, то отчет открывается - и в Коде видны указанные ранее ошибки.

Такое ощущение, что при открытии отчета из окна Проводника проверяльщик синтаксиса просто вообще не включается.

Может не стоит давать русские названия, если они приводят к таким визуальным артефактам? И именовать отчеты и их объекты (названия классов, процедур и т.п.) по английски, в независисмости от языка пользовательского интерфейса? Ведь эти имена генерируются автоматически, какой смысл в их русификации?

Ведь, к примеру, я пишу выражение в поле отчета, и случайно совершаю там ошибку. При этом, при предварительном просмотре, вылезает лог ошибок отправляет меня в окно Код. А там все и так исчеркано красным! Как в этом случае можно отличить реальную свою ошибку от тех, которые навыдумывал кривой проверяльщик синтаксиса? Очень неудобно.

И еще, подскажите пожалуйста, куда вставлять указанную Вами строку в код, чтобы дизайнер при открытии создавал пустой отчет на языке VB.net? Cпасибо!

Designer - преобразование нового отчета с C# на VB.net - ошибки синтаксиса в коде!

Добавлено: 18 окт 2010, 19:53
Jan
Здравствуйте,
Спасибо за ответ. Но, указанная проблема проявляется странным образом. Если открывать отчет двойным щелчком из файлового менеджера - то он открывается нормально и никакого подчеркивания ошибок синтаксиса нет.

Если этот же отчет открыть из меню Файл в окне Дизайнера, то отчет открывается - и в Коде видны указанные ранее ошибки.

Такое ощущение, что при открытии отчета из окна Проводника проверяльщик синтаксиса просто вообще не включается.
Подкорректировали дизайнер отчетов. Изменения будут доступны в следующем пререлиз билде.
Может не стоит давать русские названия, если они приводят к таким визуальным артефактам? И именовать отчеты и их объекты (названия классов, процедур и т.п.) по английски, в независисмости от языка пользовательского интерфейса? Ведь эти имена генерируются автоматически, какой смысл в их русификации?
Для многих эта опция крайне полезна. Ее можно отключить при помощи опции Generate Localized Name в параметрах дизайнера.
Ведь, к примеру, я пишу выражение в поле отчета, и случайно совершаю там ошибку. При этом, при предварительном просмотре, вылезает лог ошибок отправляет меня в окно Код. А там все и так исчеркано красным! Как в этом случае можно отличить реальную свою ошибку от тех, которые навыдумывал кривой проверяльщик синтаксиса? Очень неудобно.

И еще, подскажите пожалуйста, куда вставлять указанную Вами строку в код, чтобы дизайнер при открытии создавал пустой отчет на языке VB.net?
Код вставляется в любое место Вашей программы до момента запуска дизайнера или создания отчета. Изменить поведение designer.exe нельзя.

Спасибо.

Designer - преобразование нового отчета с C# на VB.net - ошибки синтаксиса в коде!

Добавлено: 25 окт 2010, 08:36
Nickola
Для многих эта опция крайне полезна. Ее можно отключить при помощи опции Generate Localized Name в параметрах дизайнера.
у меня эта "галочка" снята. Все равно Дизайнер генерирует локализованные имена. По умолчанию создается отчет с именем файла "Отчет.mrt" и внутри в коде тоже на русском:

Код: Выделить всё

namespace Reports
{
    
    public class Отчет: Stimulsoft.Report.StiReport
    {
        
        public Отчет()
        {
            this.InitializeComponent();
        } 
.....
Игнорирует дизайнер эту установку... :(

Designer - преобразование нового отчета с C# на VB.net - ошибки синтаксиса в коде!

Добавлено: 26 окт 2010, 05:46
Aleksey
Здравствуйте,

Спасибо за сообщение об ошибке.
Мы работаем над этой проблемой. Мы дадим Вам знать, когда решение будет доступно.

Спасибо.

Designer - преобразование нового отчета с C# на VB.net - ошибки синтаксиса в коде!

Добавлено: 26 окт 2010, 08:46
Nickola
Пожалуйста. Всегда рад помочь. :) Я уже за неделю изучения Вашего продукта выловил аж три ошибки, причем оч.глубоко еще в него не зарывался.

Designer - преобразование нового отчета с C# на VB.net - ошибки синтаксиса в коде!

Добавлено: 29 окт 2010, 11:16
Aleksey
Здравствуйте,

Проблема решена.
Данное решение будет доступно в следующем пререлиз билде.

Спасибо.