Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2010, 21:41   #1
DomiNik
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 26
По умолчанию Dll in Delphi

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

Dll_sq:

Цитата:
library dll_sq;

uses
SysUtils,
Classes,
Unit1 in 'Unit1.pas' {Form1};

type
TSquare = record
S:real;
end;
function TOkr(x:TSquare):Tsquare; export;
begin
Result.S:=pi*sqr(x.S)
end;

function TPryam(x,y:TSquare):TSquare; export;
begin
Result.S:=x.S*y.S;
end;

function TTreug(x,y:TSquare):TSquare; export;
begin
Result.S:=x.S*y.S/2;
end;
exports
TOkr index 1,
TPryam index 2,
TTreug index 3;
{$R *.res}

begin
end.
Код вызывающей программы:
Цитата:
unit Unit1;

interface

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

type
TSquare=record
S:real;
function TOkr(x:TSquare):TSquare;
external 'DLL_Square' index 1;
end

TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var x1:real;
x: TSquare;
begin
x1:=StrToFloat(Edit1.Text);
x1:=x;
label1.caption:=FloatToStr(TOkr(x). S);
end;

end.
DomiNik вне форума Ответить с цитированием
Старый 10.11.2010, 21:43   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Мне кажется, или пользователь с ником DomiNik у нас уже есть?
Цитата:
1.2 Категорически запрещается использовать ники схожие с уже существующими на форуме.
P.S.
На это обратите внимание:
Код:
Unit1 in 'Unit1.pas' {Form1}; // В DLL? О_о
Код:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,dll_sq;
Вы вообще что делаете? DLL вроде...
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 10.11.2010 в 21:47.
Alex Cones вне форума Ответить с цитированием
Старый 10.11.2010, 22:04   #3
DomiNik
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 26
По умолчанию

строка, которая выделена, delphi сам прописал....

на тот момент, когда я регистрировался данный ник не был ни за кем....
DomiNik вне форума Ответить с цитированием
Старый 10.11.2010, 23:09   #4
Gambler
Игрок
Форумчанин
 
Аватар для Gambler
 
Регистрация: 29.10.2006
Сообщений: 367
По умолчанию

Совсем ничего похожего на dll. Читай теорию.
Жизнь всегда игра. Но смерть - не всегда поражение.

#define true (Math.random()>0.5) //Удачной отладки
Gambler вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DLL в Delphi RuVarez Общие вопросы Delphi 20 25.08.2010 17:09
dll в delphi xmaksimca БД в Delphi 6 06.05.2010 10:28
Delphi dll tanek Помощь студентам 6 14.03.2010 15:38
DLL в DELPHI Шульц Общие вопросы Delphi 6 11.01.2009 08:28
Создать DLL на C# и вызвать её в Delphi (Delphi) RIO Общие вопросы Delphi 2 25.03.2008 15:33