Я получаю сообщение об ошибке в моем простом проекте.

Это мой код:

if (axZKFPEngX1.InitEngine() == 0) {
    label1.Text = "Connected";
}
else {
    label1.Text = "Connection Failed";
}

Я уже добавил эталонные композиты AxInterop.ZKFPEngXControl и Interop.ZKFPEngXControl.

Во время отладки нажимаю кнопку, появляется предупреждение:

InvalidActiveXStateException обработано.

«Возникло исключение типа System.Windows.Forms.AxHost + InvalidActiveXStateException» **

8
autthapone 30 Авг 2011 в 12:26

2 ответа

Лучший ответ

Попробуйте сначала вызвать CreateControl() из вашего компонента.

23
Constantin 14 Окт 2011 в 15:42

Ответ Константина : "Выполните ваше требование", но здесь я хотел бы добавить к нему еще одну вещь. Если вы хотите отразить эти изменения во всех потоках, а не только путем вызова потока (в сценарии с несколькими потоками), используйте

CreateControl();
InitWB();
SkinAllThreads();

На самом деле в сценарии с несколькими потоками, если ваш код скинов находится в одном из потоков, возможно, он не отражает изменения для другого текущего потока, поэтому в то время этот код играет в нем важную роль.

Вот некоторые документы, которые я упоминаю, пожалуйста, просмотрите их для справки:

  1. initwb () метод
  2. Другие методы DirectSkin
  3. Добавление прямого скина к приложению
1
rhatwar007 1 Окт 2014 в 07:09