Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.009 c
2-1166192315
И. Павел
2006-12-15 17:18
2007.01.07
Сортировка по щелчку на заголовке таблицы


15-1166467423
Kolan
2006-12-18 21:43
2007.01.07
По каккому признаку упорядочить файлы и папки на винте?


15-1166431387
Чапаев
2006-12-18 11:43
2007.01.07
Про IE


15-1164874807
TohaNik
2006-11-30 11:20
2007.01.07
Вот, влетел на задачке для 5-го класса.


15-1166188044
РВА
2006-12-15 16:07
2007.01.07
Зарплата программиста (примерно)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский