首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Delphi: DLL的映射

Delphi: DLL的映射
EN

Stack Overflow用户
提问于 2011-09-28 09:12:28
回答 1查看 1.6K关注 0票数 2

当我从Delphi调用函数RTMP_SetupURL时,未在记录RTMP中更新该URL,我将该DLL函数转换为:

代码语言:javascript
运行
复制
int RTMP_SetupURL(RTMP *r, char *url);

function RTMP_SetupURL(var r:RTMP; url:PAnsichar):integer;

记录AVal是这样声明的:

代码语言:javascript
运行
复制
AVal = record
av_val: PansiChar; 
av_len: integer;
end;

在设置init问题之前,我的记录(RTMP)没有被正确初始化,在我的记录下面:

代码语言:javascript
运行
复制
PChar = PAnsiChar;
uint32_t = LongWord;
uint8_t = Byte;
int8_t = char;
int32_t = LongInt;
unsigned_int = LongWord;
unsigned_short = Word;
int16_t = smallint;
cchar = Char;
cint = LongInt; 

RTMP = record
m_inChunkSize : cint;
m_outChunkSize : cint;
m_nBWCheckCounter : cint;
m_nBytesIn : cint;
m_nBytesInSent : cint;
m_nBufferMS : cint;
m_stream_id : cint;
m_mediaChannel : cint;
m_mediaStamp : uint32_t;
m_pauseStamp : uint32_t;
m_pausing : cint;
m_nServerBW : cint;
m_nClientBW : cint;
m_nClientBW2 : uint8_t;
m_bPlaying : uint8_t;
m_bSendEncoding : uint8_t;
m_bSendCounter : uint8_t;
m_numInvokes : cint;
m_numCalls : cint;
m_methodCalls : PRTMP_METHOD;
m_vecChannelsIn : array[0..(RTMP_CHANNELS)-1] of PRTMPPacket;
m_vecChannelsOut : array[0..(RTMP_CHANNELS)-1] of PRTMPPacket;
m_channelTimestamp : array[0..(RTMP_CHANNELS)-1] of cint;
m_fAudioCodecs : double;
m_fVideoCodecs : double;
m_fEncoding : double;
m_fDuration : double;
m_msgCounter : cint;
m_polling : cint;
m_resplen : cint;
m_unackd : cint;
m_clientID : AVal;
m_read : RTMP_READ;
m_write : RTMPPacket;
m_sb : RTMPSockBuf;
Link : RTMP_LNK;
end;
PRTMP = ^RTMP;

然后我打电话:

代码语言:javascript
运行
复制
var MY_RTMP: RTMP;
MY_RTMP := RTMP_Alloc;
RTMP_Init(MY_RTMP);

所有记录都被初始化,但初始化URL时使用的"Link“记录除外。我想记录没有被正确的声明

EN

回答 1

Stack Overflow用户

发布于 2011-09-28 12:48:34

我会试试这个。Here是我作为基础使用的源。

代码语言:javascript
运行
复制
function RTMP_SetupURL(var R: RTMP; Url: PAnsiChar): Integer; cdecl; 
  external 'librtmp.dll' name 'RTMP_SetupURL';
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7580891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档