Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> COM на C# 
V
    Опции темы
Wanderer2019
Дата 27.9.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



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

из какого то примера в нете вытащил следующий код:
Объявляем некий интерфейс, через который будем взаимодействавать с методами объекта
Код

public interface ITestComponent
    {
        int Mul(int First, int Second);
        int Square { get; set; }
        String About { get; }
//        bool Show();
    }

Далее описываем саму реализацию:
Код

    public class TestComponent : ITestComponent
    {
//        public bool Show()
//        {
//            Form1 frm=new Form1();
//            frm.ShowDialog();
//            return true;
//        }
        public TestComponent()
        {
            m_iSquare = 0;      
        }

        public int Mul( int First, int Second)
        {
            return First * Second;
        }    

        private int m_iSquare;
        public int Square
        {
            get
            {
                return m_iSquare;
            }

            set
            {
                m_iSquare = value * value;
            }
        }

        public String About
        {
            get
            {
                return "This component is written in C#";
            }
        }
    }

Закоментареные строчки это то, что я добавил сам... Т.е. в проект я подтянул форму и в методе пытаюсь создать и вывести ее экземпляр.

В созданном параллельно проекте я цепляю этот ком (dll) и пытаюсь обратиться к моему методу Show на что компилятор ругается:
Код

An unhandled exception of type 'System.MissingMethodException' occurred in system.windows.forms.dll

Additional information: Method not found: Boolean TestComponentLib.TestComponent.Show().

в чем загвоздка? =(
PM ICQ MSN   Вверх
mr.DUDA
Дата 27.9.2006, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Не подгружена System.Windows.Forms.dll, поэтому и метод её использующий, не найден.


--------------------
user posted image
PM MAIL WWW   Вверх
Wanderer2019
Дата 28.9.2006, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



хм ну вообщем нет... проблема оказалась не в этом...
на самом деле вышеописанный код рабочий... я же подключил соответствующие reference поэтому метод Show не мог быть не найден по идеи... тем более он же ругался на метод именно моего класса, а не Windows.Forms...
как оказалось при повторной регистрации dll и генерации tlb необходимо пересоздавать ключи snk (или же просто настроить проект так чтобы он их генерил автоматически)
PM ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0424 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.