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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> C# DLL в Delphi 
V
    Опции темы
uranpro
Дата 17.5.2010, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

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



сабж.
делаю так
Код

using System;
using System.Windows.Forms;

namespace SimpleDll
{
    public class Func
    {
        public static void ShowMess(string s)
        {
            MessageBox.Show(s);
        }
    }
}

Код

procedure ShowMess(s:string); external 'SimpleDll.dll';

procedure TForm1.Button1Click(Sender: TObject);
begin

  ShowMess('asdasd');

end;


ошибка

user posted image


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
kosmonaFFFt
Дата 17.5.2010, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 5



Видимо потому, что библиотека на С# компилируется в .NET байткод, а не в натив код...
.NET библиотеки можно использовать только в .NET языках, насколько я знаю, Delfi for .NET существует...

А если у тебя делфи для дот нета, то надо делать так:
Код

Func.showMess("чтототам");


Это сообщение отредактировал(а) kosmonaFFFt - 17.5.2010, 18:07


--------------------
user posted image
PM MAIL ICQ   Вверх
jonie
Дата 17.5.2010, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



... а еще можно использовать COM


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
uranpro
Дата 18.5.2010, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

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



я знаю, что можно, но как ? я пробовал так, но у меня не получается. delphi(7) при создании SimpleDll_TLB.pas не генерит интерфейс обращения и я не могу сделать так cobj.ShowMess() =(
Код

unit SimpleDll_TLB;
const
  // TypeLibrary Major and minor versions
  SimpleDllMajorVersion = 1;
  SimpleDllMinorVersion = 0;

  LIBID_SimpleDll: TGUID = '{3C2E04BB-1CF0-41FD-B099-062C2285BB92}';


implementation

uses ComObj;

end.

может я что-то не понимаю...


--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
uranpro
Дата 18.5.2010, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 571
Регистрация: 7.5.2008
Где: Moscow city

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



УРА!!! 
получилось через Com!
C#
Код

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace SimpleDll
{
    [ComVisible(true)]
    public class Func : SimpleDll.IFunc
    {
        [ComVisible(true)]// Это нужно ?
        public string ShowMess(string s)
        {
            MessageBox.Show(s);
            return s;
        }

    }
}

Код

using System;
using System.Runtime.InteropServices;

namespace SimpleDll
{
    [ComVisible(true)]
    public interface IFunc
    {
        [ComVisible(true)] // это нужно ?
        string ShowMess(string s);
    }
}



--------------------
I want a perfect soul
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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