Первое случайное исключение типа «System.InvalidCastException» произошло в what.exe - PullRequest
1 голос
/ 20 октября 2011

Очень ржавый нативный программист на C ++ с нулевым опытом работы с Visual Studio.Я просто пытаюсь собрать простую программу, которая изменит расширение файлов, которые были добавлены в нее, но я столкнулся с проблемой в заголовке, которая возникает, когда событие DragDrop вызывается при сбросе файла в форму.,Доходит до следующей строки:

String ^ sOldName = (String ^) e-> Data-> GetData (DataFormats :: FileDrop, false);

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

Я действительно ценю любую помощь в этом.Спасибо.

1 Ответ

0 голосов
/ 20 октября 2011

Здесь есть два вопроса.

Во-первых, вы можете указать true, а не false, чтобы позволить вызову GetData автоматически обрабатывать преобразование формата для вас. Если данные имеют неправильный формат, вы не сможете преобразовать данные в String^.

Во-вторых, данные от удаления файла оболочки обычно array<String^>^, а не String^.

Попробуйте следующее:

array<String^>^ sOldName = (array<String^>^) e->Data->GetData(DataFormats::FileDrop, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...