Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с dll, После выполнения выскакивает окно с ошиб 
:(
    Опции темы
Satman
Дата 14.5.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Проблемка с dll
Пользуюсь Delphi7
основная программа
Код

 program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,Windows,ShareMem;
function GetInfo:string;stdcall;external 'mul.dll';
begin
  { TODO -oUser -cConsole Main : Insert code here }
  writeln (GetInfo);
  readln;
end. 

код библиотеки
Код

library mul;
uses ShareMem;
function  GetInfo(a:byte) :string ; stdcall;
  begin
    GetInfo:='Плагин для умножения';
  end;

function  Action (op1,op2:Integer):integer ;stdcall;
  begin
    Action:=op1*op2;
  end;
exports  GetInfo,Action;  
begin
end.

Программа при запуске печатет строку 'Плагин для умножения'
а после выхода выскаикивает ошибка
Debugger Fault Notification ../../Project1.exe acces violation at 0x0000000:
read of adress 0x000000...     Process Stopped.Use Step or Rin to continue
Подскажите что я делаю не так

Добавлено @ 14:55 
Заметил nxj если вызвать другую функцию
Код

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,Windows,ShareMem;
function Action(op1,op2:integer):integer;stdcall;external 'mul.dll';
begin
  { TODO -oUser -cConsole Main : Insert code here }
  writeln (Action(3,4));
  readln;
end.

то все номально....что то со стрингом не то ...кто знает посоветуйте 
PM MAIL   Вверх
Nickel
Дата 14.5.2006, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Сравни:
Цитата
function GetInfo:string;stdcall;external 'mul.dll';

и
Цитата
function  GetInfo(a:byte) :string ; stdcall;
 
PM   Вверх
Satman
Дата 14.5.2006, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



проблема сама себя изжила
создал новый тип вместо стринга type Tcool=String[50];
и все запахало..а да еще исправил a:byte
Спасиб, Nickel 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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