Я разрабатываю небольшое фотографическое приложение, которое должно работать с Canon EDSDK api с камерами EOS. Все отлично работало со старыми dll (с 2014 года) и со старыми камерами Canon 1100D и 1200D. Недавно я купил succesor, модель 1300D. Конечно, старые dll's (2014) не узнали новую модель камеры с 2016 года, и я не мог подключиться к камере.edsdk C# функция pinvoke EdsCreateMemoryStream имеет несбалансированный стек
Так я заменил старый DLL файлы: EDSDK.dll и EdsImage.dll
новыми, взятыми из последнего Canon EOS Utility ver.3, которая работает с Canon 1300D.
Теперь моя камера распознается, на моей основной панели я вижу имя подключенной камеры Canon EOS 1300D.
Но после замены библиотеки DLL, когда я пытаюсь начать жить просмотра с камеры, я получаю это странное сообщение об ошибке:
Вызов функции PInvoke «! TestApp EDSDKLib.EDSDK :: EdsCreateMemoryStream» имеет несимметричный стек . Вероятно, это связано с тем, что управляемая подпись PInvoke не соответствует неуправляемой целевой сигнатуре. Убедитесь, что вызывающий конвенция и параметры подписи PInvoke соответствуют целевой неуправляемой подпись
Я буду очень признателен за любую помощь. Я уже потерял много времени на этом. У меня больше нет идей, и я не знаю, где искать ответы.
Спасибо Вам всем заблаговременно.
Вы прочитали сообщение и сделали то, что он предлагает? Мы не можем помочь, потому что только у вас есть код. И только у вас есть библиотеки DLL.И без источника для DLL это будет сложно. Вы попросили поставщика помочь. –