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

Вниз

Можно ли вернуть из DLL record?   Найти похожие ветки 

 
Adis Tadas   (2004-12-02 09:46) [0]

Здравствуйте, уважаемые специалисты !
Описал функцию DLL следующим образом:

TFr = function (var tar:  TRc):  integer ;

где:  
TRc = record
 sX: string ;
 nY: integer ;
end ;

В программе вызываю эту функцию:
 var
   Foo: TFr ;
   r:   TRc ;
   ..
   LoadLibrary("my.DLL");
   Foo := GetProcAddress(Handle, "FOO");
   Foo (r);  
   FreeLibrary(Handle);
   ..

В DLL:
 ..
 function FOO (var tar:  TRc):  integer ;
 var
   tar1:  TRc ;
 ..
 tar1 := tar ;
 ..
 // что-нибудь делаю с tar1
 tar1.sX := ".." ;
 tar1.nY := 22 ;
 ..
 // если в созданной форме нажали Ok
 if (ModalResult=mrOk) then
   tar := tar1 ;   // т.е. возвращаем измененное значение tar
                   // иначе tar не меняется
 >> но в этом месте (tar := tar1) выдается ошибка!

Скажите, в чем может быть дело ?
Заранее спасибо!


 
Digitman ©   (2004-12-02 09:59) [1]

большущий комментарий в тексте dll-проекта читал ?


 
MBo ©   (2004-12-02 09:59) [2]

Нужно прочитать комментарий, который Delphi вставляет в начале при создании DLL


 
ghg ©   (2004-12-02 10:26) [3]

о как синхронно :))


 
Erik1 ©   (2004-12-02 10:55) [4]

Или выкинь string и пользуйся String[10] а в DLL передавай указатель на Record.
PRC = ^TRc;

Var
 r:   TRc;
 MyPtr: PRC;
begin
 MyPtr := @r;
 ..
 Foo(MyPtr);
А в Dll
function FOO(const tar:  PRC): integer ;
tar.sX := "..";
Сколько на String выделить сам подумай, можно еще PChar использовать.


 
KSergey ©   (2004-12-02 11:28) [5]

> [4] Erik1 ©   (02.12.04 10:55)
> Или выкинь string и пользуйся String[10] а в DLL передавай
> указатель на Record.

Он и так указатель передает.



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

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

Наверх





Память: 0.45 MB
Время: 0.353 c
1-1102426790
Aleksandr.
2004-12-07 16:39
2004.12.19
Какое сообщение отправить TMemo, чтобы он проскроллировался?


6-1097132350
The X
2004-10-07 10:59
2004.12.19
Проблема с NMPOP3.Connected


1-1102418056
Destroyer2
2004-12-07 14:14
2004.12.19
Отключение ловушки


1-1102411586
Arkady
2004-12-07 12:26
2004.12.19
Hint без наведения


14-1101493291
Fay
2004-11-26 21:21
2004.12.19
Нужен программер на пост. работу





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