Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Runtime Error 217 at  (Прочитано 19168 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« : 01-09-2008 11:20 » 

Здравствуйте.Подскажите пожалуйста почему при завершении работы программы возникает рунтайм ошибка 217?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 01-09-2008 11:24 » 

Элексир, где программа?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 01-09-2008 11:59 » 

RXL, вот листовка, решил попробовать длл написать. ее я взял из книжки по дельфи.
Код:
unit Unit1;

interface

uses
  Windows, ShareMem, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function AddIntegers(a,b:integer):integer;
external 'project2.dll'

function AddReals(c,d:real):real;
external 'project2.dll'

function AddStringsFromDll(e,f:string):string;
external 'project2.dll'
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit7.Text:=IntToStr(AddIntegers(StrToInt(edit1.Text),StrToInt(Edit2.Text)));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Edit8.Text:=FloatToStr(AddReals(StrToFloat(edit3.Text),StrToFloat(edit4.Text)));
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Edit9.Text:=AddStringsFromDll(edit5.Text,edit6.Text);
end;
end.
« Последнее редактирование: 01-09-2008 12:03 от Элексир » Записан
zubr
Гость
« Ответ #3 : 01-09-2008 13:45 » 

Код:
function AddIntegers(a,b:integer):integer; stdcall;
external 'project2.dll'

function AddReals(c,d:real):real; stdcall;
external 'project2.dll'
Записан
Basurman
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 02-09-2008 19:11 » 

Вообще то в документации написано, что "runtime error 217" возникает - когда консольное приложение прервано пользователем (Ctrl-C нажали).
Записан
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 05-09-2008 23:41 » 

Zubr, а для чего нужен стдкал?

Basurman, а в какой документации ты это прочел?можешь выложить в доступ чтоб скачать?
Записан
zubr
Гость
« Ответ #6 : 06-09-2008 06:50 » 

1. Элексир, дело в том, что в твоей длл процедуры объявлены скорее всего с директивой stdcall.
Данная директива сообщает компилятору в какой последовательности передавать параметры в стек (справа налево).
Это нужно, чтобы твою длл можно было подключать и в сишных программах.
2. В Delphi help в поиске введи 217.
Записан
Basurman
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 06-09-2008 18:57 » 

Delphi Help.
Описание языка -> Fatal errors.
Пару этапов я пропустил. Или поиск по индексу, попадёшь туда же. Там кратко описаны все ошибки времени исполнения отслеживаемые библиотекой исполнениня среды Delphi.
Записан
Элексир
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 07-09-2008 17:06 » new

all thanks!!!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines