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

Вниз

2 вопроса про DLL   Найти похожие ветки 

 
Andrew1_1   (2003-10-26 21:32) [0]

У меня такой вопрос:
Можно ли в dll-ке управлять кнопкой (или формой, это не важно..) из exe-шника? Например:

{1}
library mydll;

uses
Windows, Messages, SysUtils, Classes, Unit1;

{$R *.res}

Function Sum1(a: shortstring): shortstring; stdcall;
begin
Result := Unit1.Form1.Caption + a;
{Вот это не срабатывает, ошибка выводится}
end;

Exports Sum1;

....

{2}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
{Из DLL}
function Sum1(a: shortstring): shortstring; stdcall; External "Mydll.dll";
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption:= Sum1("aaa");
end;

.....

И еще один вопрос: Почему нельзя использовать тип string - проходит только с shortstring ?
И вообще не подскажете, где можно найти побольше материала об использовании dll ?


 
Feofan   (2003-10-26 21:45) [1]

>Result := Unit1.Form1.Caption + a;

1.А где Form1 создано то?

2.Лучше использовать PChar потому как оно надежнее!
Ты когда ДЛЛ создаешь там почитай чего за коментарии пишут в начале проекта.


 
kavlad   (2003-10-27 09:28) [2]

> Result := Unit1.Form1.Caption + a;

Form1 из exe - dll должна получить на нее ссылку.


 
REA   (2003-10-27 11:24) [3]

В принципе можно до определенной степени, но если предполагаются такие вызовы, лучше использовать BPL вместо DLL.


 
Andrew1_1   (2003-10-27 11:28) [4]

>REA А как это сделать? Ну как получить ссылку на exe? У меня же есть в длл ссылка на unit1...


 
REA   (2003-10-27 11:32) [5]

Вопросы некорректны. Что именно требуется?


 
Andrew1_1   (2003-10-27 11:36) [6]

Короче, требуется чтобы работала функция Sum1. А она берет значение из Формы в unit1, которая(Unit1) относится к exe.
Как это сделать? =)


 
panov   (2003-10-27 11:55) [7]

В функцию надо передавать значение поля, а не само поле.


 
Andrew1_1   (2003-10-27 15:42) [8]

А у меня что передает???


 
panov   (2003-10-27 16:08) [9]

А ты передаешь строку, а потом пытаешься обратиться к форме, которая определена неизвестно где, неизвестно как.
Передавай 2 параметра - значение Caption и a: shortstring



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

Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
14-41877
ИМХО
2003-10-21 12:32
2003.11.13
Прогнозы на Локо и ДК


3-40907
snoup
2003-10-19 14:25
2003.11.13
Можно ли и как создавать таблицы с помощью TIB компонент?


3-40816
angel2000
2003-10-22 11:17
2003.11.13
ВЫделение строки в гриде


4-42302
maxi
2003-09-09 12:21
2003.11.13
Как програмно открыть файл с заданным расширением(например .rm)?


6-41781
DSA
2003-09-11 16:44
2003.11.13
Генерация POST сообщений





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский