Форум: "Начинающим";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
ВнизСоздание библиотеки Найти похожие ветки
← →
Merry (2006-10-07 16:11) [0]Впервые создала библиотеку для функции перевода денег из цифр в пропись.
Почему-то при выполнении:
Edit2.Text:=TextSum(StrToFloat(Edit1.text));
перевод проходит, в Edit2 я вижу результат,
но при этом выдаётся ошибка:"Invalid pointer operation."
Что она означает? Как от неё избавиться?
Я уже отправляла на форум эту функцию, многие пробовали, но ошибки такой ни у кого не возникало.
Может, всё дело в подключении библиотеки… Или что ещё. Уже не знаю, что делать.
Могу выслать библиотеку с этой функцией и демопрограмку, в которой и идёт эта ошибка. Очень ЖДУ ПОМОЩИ!
← →
DrPass © (2006-10-07 16:14) [1]
> Впервые создала библиотеку для функции перевода денег из
> цифр в пропись
Если библиотека - DLL, то надо было внимательно прочитать Большой Комментарий, который был в dpr-файле библиотеки, и сделать так, как там написано.
← →
Leonid Troyanovsky © (2006-10-07 16:17) [2]
> Merry (07.10.06 16:11)
> Может, всё дело в подключении библиотеки… Или что ещё. Уже
> не знаю, что делать.
Читать комментарий, вставляемый при File.. New .. Dll
До просветления.
--
Regards, LVT.
← →
Merry (2006-10-07 16:54) [3]В принципе, так я и делала. В этом и вопрос: видимых ошибок нет, но что не так? Я думаю, дискутировать излишне. Повторю:Могу выслать библиотеку с этой функцией и программку с её использованием.
← →
Leonid Troyanovsky © (2006-10-07 17:08) [4]
> Merry (07.10.06 16:54) [3]
> нет, но что не так? Я думаю, дискутировать излишне. Повторю:
Приведи здесь uses from ProjectX.dpr (for exe).
--
Regards, LVT.
← →
Merry (2006-10-07 17:38) [5]>Leonid Troyanovsky © (07.10.06 17:08) [4]
program DllTest;
uses
Forms,
ffirst in "ffirst.pas" {Form1},
first in "first.pas";
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
--------------
Весь модуль ffirst:
unit ffirst;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, Mask, DBCtrls, DBTables;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses first;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text:=TextSum(StrToFloat(Edit1.text));
end;
end.
------------------------------------------
A модуль first весь выглядит так:
unit first;
interface
function TextSum(S: double): string;
implementation
const
LibName="MyDll2.dll";
function TextSum;external LibName;
end.
← →
MikePetrichenko © (2006-10-07 18:26) [6]
> uses
> Forms,
> ffirst in "ffirst.pas" {Form1},
> first in "first.pas";
Еще дольше читать коментарий Delphi, вставляемый в начало файла проекта при создании DLL.
← →
Merry (2006-10-07 19:00) [7]>MikePetrichenko © (07.10.06 18:26) [6]
Спасибо УМНИКИ!!!
Про ShareMem всё понятно.
Нельзя было сразу сказать?
Надо было типа:
>Еще дольше читать коментарий Delphi.
← →
Джо © (2006-10-07 19:21) [8]> [7] Merry (07.10.06 19:00)
> >MikePetrichenko © (07.10.06 18:26) [6]
> Спасибо УМНИКИ!!!
> Про ShareMem всё понятно.
> Нельзя было сразу сказать?
> Надо было типа:
> >Еще дольше читать коментарий Delphi.
А зачем врать было, что "читала"?
← →
DrPass © (2006-10-08 00:24) [9]
> Merry (07.10.06 19:00) [7]
В чем же и смысл - тебе подсказали не само решение, а как решать задачи. Это намного более ценное знание ;-)
← →
Ученик чародея © (2006-10-08 03:22) [10]
> DrPass © (08.10.06 00:24) [9]
>
> > Merry (07.10.06 19:00) [7]
>
> В чем же и смысл - тебе подсказали не само решение, а как
> решать задачи. Это намного более ценное знание ;-)
А еще вариант - передавать указатель на выделенную память в функцию в dll.
А если не обязательно thread safe, для всяких левых языков программирования типа PB, то объявлять глобальную переменную.
var GStr:string
function foo(S: double): string;
begin
//чето мутим
Gstr=ту строку которую намутили;
Result:=GStr;
end;
← →
Amoeba © (2006-10-09 13:32) [11]На http://www.delphikingdom.com давно уже есть несколько таких готовых библиотек.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.048 c