Проблема с добавлением сборки SmallBasicLibrary.dll


#1

Привет всем!

Если кратко, то следуя инструкциям из книги В.Рубанцева “PascalABC . NET Программирование графики на примерах”, (страница 16) столкнулся с проблемой добавления сборки SmallBasicLibrary.dll .

После того как жму на кнопку “Добавить сборку”

Получаю новое окно с со следующим сообщением

После нажатия “Продолжить” окошко пропадает и всё.

Если выполняю добавление командой меню “Проект > Подключить сборку > Добавить сборку” , то происходит то же самое. Окно “Подключение сборок” не появлялось ни в первом ни во втором случае. Подскажите пожалуйста что делать?


#2

Пришлите сведения исключения. У меня не воспроизводится (но тут может влиять моя Windows 7).


#3

Думаю, сборка откомпилирована под 32-битную платформу.


#4

Скопировал и выкладываю ниже:

Подробная информация об использовании оперативной (JIT) отладки вместо данного диалогового окна содержится в конце этого сообщения.

************** Текст исключения ************** System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в VisualPascalABC.GacInterop.GetAssemblyList() в VisualPascalABC.ReferenceForm.GetCacheContent() в VisualPascalABC.ReferenceForm.LoadAssemblies() в VisualPascalABC.ProjectTask.AddReferencesToProject(ProjectExplorerForm ProjectExplorerWindow) в System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) в System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) в System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) в System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) в System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) в System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) в System.Windows.Forms.Control.WndProc(Message& m) в System.Windows.Forms.ToolStrip.WndProc(Message& m) в System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Загруженные сборки ************** mscorlib Версия сборки: 4.0.0.0 Версия Win32: 4.7.3394.0 built by: NET472REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll …

************** Оперативная отладка (JIT) ************** Для подключения оперативной (JIT) отладки файл .config данного приложения или компьютера (machine.config) должен иметь значение jitDebugging, установленное в секции system.windows.forms. Приложение также должно быть скомпилировано с включенной отладкой.

Например:

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


#5

Используйте {$platformtarget x86}


#6

Кстати, у меня Windows10 64 bit


#7

Сборка, которую вы используете, - 32-битная


#8

Как я могу это сделать?


#9

{$platformtarget x86} напишите в файле


#10

Вы уж извиняйте меня, чайника :slight_smile: В каком файле?


#11

В любом. Любую директиву можно писать в любом файле.


#12

А может можно поправить установочный файл?


#13
{$platformtarget x86}
{$reference SmallBasicLibrary.dll}

begin

end.

Без проектов. Попробуйте.


#15

Вот так?


#16

Или так?


#18

А закачайте сюда эту dll


#19

SmallBasicLibrary.zip (149,7 КБ)


#20

Не воспроизводится ни с $platformtarget, ни без.
Win7x64


#21

Architecture: AnyCPU (64-bit preferred)

Нормальная сборка

Всё работает просто вот так:

{$reference SmallBasicLibrary.dll}

begin

end.

#22

Подтверждаю, работает. Win 7, 64 bit