User Tag List

Показано с 1 по 10 из 2231

Тема: ZXMAK2 - Виртуальная машина ZX Spectrum

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    14.11.2011
    Адрес
    г. Алматы, Казахстан
    Сообщений
    19
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Решил тряхнуть стариной и забрал последнюю версию исходников из SVN.
    Собрал при помощи VS2012 Update2. При запуске сразу же свалилось с исключением:

    ************** Текст исключения **************
    System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
    в ZXMAK2.Controls.FormMain.FormMain_FormClosing(Obje ct sender, FormClosingEventArgs e) в c:\Users\Viktor\zxmak2\SRC\ZXMAK2\Controls\FormMai n.cs:строка 191
    в System.Windows.Forms.Form.OnFormClosing(FormClosin gEventArgs e)
    в System.Windows.Forms.Form.RaiseFormClosingOnAppExi t()
    в System.Windows.Forms.Application.ExitInternal()
    в System.Windows.Forms.Application.ThreadContext.OnT hreadException(Exception t)
    в System.Windows.Forms.Control.InvokeMarshaledCallba cks()
    в System.Windows.Forms.Control.WndProc(Message& m)
    в System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
    в System.Windows.Forms.ContainerControl.WndProc(Mess age& m)
    в System.Windows.Forms.Form.WndProc(Message& m)
    в System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
    в System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
    в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)



    Версия Windows 7 SP1 x32, работает под Oracle Virtual Box 4.2.12 под Gentoo
    Не прикалываюсь, просто по долгу службы приходится кодить под Windows на C# а дома ставить на машину как постоянную ОС Windows я не хочу. Вот и приходится такими костылями пользоваться =)

    UPD:

    Если верить трассировке -- валится из-за того что VM под VirtualBox не совсем хорошо работает с граф.оборудованием. Свалилось в Managed-сборке DirectX....
    Нельзя-ли как-то это поправить или оно совсем завязано на Win и DirectX? А так бы хороший кросс-платформенный продукт получился, который бы и под Mono работал.
    Еще вопросик:
    Почему такая старая версия .NET Framework в проекте (2.0)? Уже пора хотя-бы на 3.5 или 4.0 переходить. 2.0 Все-таки еще с XP SP2 умерла, которой уже ни где нет
    Последний раз редактировалось impressed; 09.05.2013 в 13:54.
    2:5083/89

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    176
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от impressed Посмотреть сообщение
    Если верить трассировке -- валится из-за того что VM под VirtualBox не совсем хорошо работает с граф.оборудованием. Свалилось в Managed-сборке DirectX....
    Галочка на 3D-акселерацию в свойствах VM стоит? У меня с ней эмуль работает под VirtualBox без проблем (и без видимых тормозов).
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  4. #3

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Галочка на 3D-акселерацию в свойствах VM стоит? У меня с ней эмуль работает под VirtualBox без проблем (и без видимых тормозов).
    похоже он запускает VirtualBox в Wine из под линукса, не факт что при таком раскладе VirtualBox сможет аппаратное ускорение использовать

    ---------- Post added at 22:01 ---------- Previous post was at 21:55 ----------

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Самое гиблое там - это сильная привязка к WinForms. Скажем то, что устройства, которые добавляют пункты меню, прямо у себя в коде создают System.Windows.Forms.MenuItem и вставляют его куда следует.
    Задумывалось что для SDL в AttachGui будет передаваться не Windows.Form, а чтото другое. Для этого и тип задан object, а не Windows.Form. Компонент сам проверяет поддерживает ли он это что-то другое и если не поддерживает, то он к гую просто не цепляется и все. Поэтому это не должно быть проблемой.
    Если есть идеи как сделать это более красиво - велкам
    Последний раз редактировалось ZXMAK; 09.05.2013 в 23:03.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  5. #4

    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,087
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    230
    Поблагодарили
    98 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    похоже он запускает VirtualBox в Wine из под линукса, не факт что при таком раскладе VirtualBox сможет аппаратное ускорение использовать
    Это надо быть особым извращенцем, чтобы так делать... Сразу вспомнилось - http://bash.im/quote/59325 (дико извиняюсь, если отвлёк )
    Все любят гипножабу

  6. #5

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    176
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    Компонент сам проверяет поддерживает ли он это что-то другое и если не поддерживает, то он к гую просто не цепляется и все. Поэтому это не должно быть проблемой.
    А если будет 10 разных фронт-ендов, то у компонента код разрастется до умопомпрачительных размеров В идеале компонент вообще не должен знать откуда он запущен. Он, имхо, должен сказать на AttachGui что-то в духе
    Код:
      var item = m_vm.AddMenuItem(MenuItems.Tools, "Hello, world", OnMenuItemClick); // Menu section, Item title, Callback
    а на DetachGui
    Код:
      m_vm.RemoveMenuItem(item);
    а остальным должен заниматься какой-нибудь обработчик, который можно подменить извне (по типу как сделан VirtualMachine.OnUpdateVideo)
    Последний раз редактировалось Eltaron; 09.05.2013 в 23:55.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  7. #6

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Он, имхо, должен сказать на AttachGui что-то в духе
    написать обертки для менюшек не проблема, а как быть с окнами? Например MemoryBase по менюшке выводит свое окно. Как это сделать переносимым и в то-же время не привязывать компонент к реализации окна?
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  8. #7

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    176
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexander Makeev Посмотреть сообщение
    написать обертки для менюшек не проблема, а как быть с окнами? Например MemoryBase по менюшке выводит свое окно. Как это сделать переносимым и в то-же время не привязывать компонент к реализации окна?
    А оно откроется. Mono умеет открывать WinForms-окна.
    Проблема только с менюшками - невозможно в SDL-окно прицепить WinForms-меню, потому что SDL работает через P/Invoke и окна создаёт нативным кодом.

    ---------- Post added at 02:12 ---------- Previous post was at 02:07 ----------

    Ну то есть в идеале конечно было бы надо написать свою обертку над вообще всем оконным интерфейсом, но у такой работы показатель сложность/полезность будет стремиться к бесконечности. Это пригодится только если под Win8 или браузерный Silverlight портировать.
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  9. #8

    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    801
    Спасибо Благодарностей отдано 
    438
    Спасибо Благодарностей получено 
    44
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Mono умеет открывать WinForms-окна.
    http://mono-project.com/FAQ:_Licensing
    For people who need full compatibility with the Windows platform, Mono's strategy for dealing with any potential issues that might arise with ASP.NET, ADO.NET or Windows.Forms is: (1) work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, we would (2) remove the pieces of code that were covered by those patents, and also (3) find prior art that would render the patent useless.
    IT FOUND A VOICE... NOW IT NEEDS A BODY

  10. #9

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    А оно откроется. Mono умеет открывать WinForms-окна.
    Проблема только с менюшками - невозможно в SDL-окно прицепить WinForms-меню, потому что SDL работает через P/Invoke и окна создаёт нативным кодом.
    хм, вот в чем дело, теперь ясно, постараюсь отвязать компоненты от менюшек в ближайших версиях...
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 7
    Последнее: 06.04.2012, 21:37
  2. Машина Тьюринга для Z80
    от ZXMAK в разделе Эмуляторы
    Ответов: 4
    Последнее: 15.08.2011, 03:26
  3. Продвинутая Мелко Машина 1
    от Black_Cat в разделе Зарубежные компьютеры
    Ответов: 74
    Последнее: 03.03.2009, 09:05
  4. Что за машина такая??? Commodore 128...
    от ILoveSpeccy в разделе Commodore 16/64/128
    Ответов: 5
    Последнее: 31.10.2007, 10:25
  5. Java-машина
    от Error404 в разделе Программирование
    Ответов: 2
    Последнее: 15.01.2007, 15:11

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •