IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   delphi указатели из dll (http://www.imho.ws/showthread.php?t=116507)

freud 13.03.2007 18:28

delphi указатели из dll
 
помогите плиз, подключаю библиотеку писаную на с++, использую функцию

__inline long __stdcall GetMessageDescription( char* & Buff, unsigned long Code, char** pmes=NULL, unsigned char Count=0 )

на делфе

function GetMessageDescription( P:Pointer; Code:Longint; P1:pointer; L1:integer):Longint; stdcall; external 'msgmgr.dll' name 'GetMessage';

по указателю Р должно лежать текстовое сообщение, размер памяти возвращает функция или код ошибки.
Как из указателя достать сообщение ???
я вааще начинающий и не понял как, все время вываливает "аксес виолетион" :(

sednivo 23.03.2007 11:58

Роизменовуеш указатель

Willow 24.03.2007 11:52

Я бы на дельфе написал так:

type
PPChar=^PChar;
function GetMessageDescription( var buf:PChar; Code:LongWord; PMes:PPChar=nil; Count:byte=0):Longint; stdcall; external 'msgmgr.dll' name 'GetMessage';

uwert 28.06.2007 00:38

Возник похожий вопрос.
Как правильно написать это на Делфи?
Подскажите, пожалуйста.

В DLL-ке описание на функцию на С:

extern "C" RET_CODE GetCoefs(float* pCoef,unsigned short* pZeroCode);
pCoef –указатель на переменную, куда вернется первый коэффициент,
pZeroCode –указатель на переменную, куда вернется второй коэффициент.

Вариант:
function GetCoefs(pCoef:real;pZeroCode:integer):?????; external 'math_norm.dll';

1. Как прописать в type и var: pCoef и pZeroCod?
2. Как обработать RET_CODE?
Возвращаемые значения: RC_OK – нормальное завершение.
RC_BAD_PARAM - параметры заданы неверно.

XBOHDPuKC 18.08.2007 11:38

Цитата:

Сообщение от uwert (Сообщение 1428684)
Возник похожий вопрос.
Как правильно написать это на Делфи?
Подскажите, пожалуйста.

В DLL-ке описание на функцию на С:

extern "C" RET_CODE GetCoefs(float* pCoef,unsigned short* pZeroCode);
pCoef –указатель на переменную, куда вернется первый коэффициент,
pZeroCode –указатель на переменную, куда вернется второй коэффициент.

Вариант:
function GetCoefs(pCoef:real;pZeroCode:integer):?????; external 'math_norm.dll';

1. Как прописать в type и var: pCoef и pZeroCod?
2. Как обработать RET_CODE?
Возвращаемые значения: RC_OK – нормальное завершение.
RC_BAD_PARAM - параметры заданы неверно.

PReal = ^Single;
PWord = ^Word;

RET_CODE надо смотреть как объявлен в .h файле и от этого делать дельфовое объявление.


Часовой пояс GMT +4, время: 05:46.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.