Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.07;
Скачать: CL | DM;

Вниз

dll   Найти похожие ветки 

 
Com ©   (2006-12-17 18:57) [0]

Пробую создать ПРОСТЕЙШУЮ длл. Вроде все, как в учебнике, но программа ведет себя странно. Сначала получает значение из длл, а потом выдает invalid pointer operation. Вот код библиотеки и собственно программы:

library TestDLL;
uses
 SysUtils,
 Classes,
 Forms,
 Windows;

function Hello:string;
begin
 hello:="Preved!";
end;
exports
 Hello;
begin
end.


unit main;

interface

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

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
  function Hello:string; external "testdll.dll";
var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
s:=Hello;
showmessage(s);
end;

end.


 
Джо ©   (2006-12-17 18:59) [1]

> Пробую создать ПРОСТЕЙШУЮ длл. Вроде все, как в учебнике,
>

Когда создаешь DLL в дизайнере Делфи, он генерирует БОЛЬШОЙ  такой комментарий. Его и следует внимательным образом прочитать и усвоить.


 
Com ©   (2006-12-17 19:01) [2]

Ну если он Вами усвоен, может подскажете?


 
Джо ©   (2006-12-17 19:03) [3]

> [2] Com ©   (17.12.06 19:01)
> Ну если он Вами усвоен, может подскажете?

Зачем мне заниматься вольным пересказом того, что уже и так написано?


 
Com ©   (2006-12-17 19:03) [4]

Все, усвоил... Спасибо!


 
Com ©   (2006-12-17 19:10) [5]


> вольным пересказом

Вот так всегда.... Проще 10 сообщений написать вокруг да около, чем две строчки по теме. МАСТЕРА!


 
Джо-со-смарта   (2006-12-17 19:29) [6]

Конечно, легче бегать клянчить и просить разжевать, чем самостоятельно читать справку и предупреждения среды.


 
Джо-со-смарта   (2006-12-17 19:31) [7]

Тебе указали на источник информации, чего еще?


 
Kostafey ©   (2006-12-18 00:19) [8]


> [6] Джо-со-смарта   (17.12.06 19:29)

Да будет Вам. Зачастую сама по себе задача не стоит того, чтобы решать все сопутствующие проблемы.
В одном согласен: по-другому не научишься.
НО как говориться, в какую сторону копать подсказать нужно.


> [0] Com ©   (17.12.06 18:57)

Дело в том, что у тебя форма-то только объявлена, но не создана.
Можно, например экспортировать еще одну процедуру для ее создания:

exports
 procedure CreateForms(Appl, Form: THandle);
...

procedure CreateForms(Appl, Form: THandle);
begin
 Application.Handle := Appl;
 Form1 := TForm1.Create(Application);


 
Германн ©   (2006-12-18 00:29) [9]


> Дело в том, что у тебя форма-то только объявлена, но не
> создана.
> Можно, например экспортировать еще одну процедуру для ее
> создания:

Какая форма??? Ты о чём?


 
Kostafey ©   (2006-12-18 00:33) [10]

> [9] Германн ©   (18.12.06 00:29)

Ух, хороший самогон был... %}


 
DrPass ©   (2006-12-18 00:36) [11]


> Kostafey ©   (18.12.06 00:19) [8]

У него проблема не в форме. А в том, что он не прочитал Большой Синий Комментарий. Прочти и ты его, и поймешь, в чем была проблема


> Вроде все, как в учебнике, но программа ведет себя странно

...хотел бы я посмотреть на тот учебник


 
Kostafey ©   (2006-12-18 00:41) [12]

Тогда все совсем просто: нужно string заменить на shortstring.


 
Германн ©   (2006-12-18 00:55) [13]


> Kostafey ©   (18.12.06 00:41) [12]
>
> Тогда все совсем просто: нужно string заменить на shortstring.
>

Имхо, лучше на PChar. Тогда её можно будет пользовать в программах на других языках. А если нужно только на Дельфи, тогда лучше выполнить рекомендации из комментария.


 
MetalFan ©   (2006-12-19 09:33) [14]

а еще лучше не использовать TForm )))



Страницы: 1 вся ветка

Текущий архив: 2007.01.07;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.044 c
15-1165998355
infom
2006-12-13 11:25
2007.01.07
Backup Delphi со всеми компонентами


15-1166120608
lookin
2006-12-14 21:23
2007.01.07
Евротур - этап "Кубок первого канала"...


15-1166178154
031178
2006-12-15 13:22
2007.01.07
К кого есть компоненты Alvas Components Collection for delphi 7 ?


2-1166449505
apak
2006-12-18 16:45
2007.01.07
Синхронное листание ListBox


15-1166426041
data
2006-12-18 10:14
2007.01.07
Еще одна спортивная ветка)