/* 版权声明: 本文件版权为易语言作者吴涛所有,仅授权给第三方用作开发易语言支持库,禁止用于其他任何场合。 */ // 使用指定文本数据建立易程序中使用的文本数据。 char* CloneTextData (char* ps) { if (ps == NULL || *ps == '\0') return NULL; INT nTextLen = strlen (ps); char* pd = (char*)NotifySys (NRS_MALLOC, (DWORD)(nTextLen + 1), 0); memcpy (pd, ps, nTextLen); pd [nTextLen] = '\0'; return pd; } // 使用指定文本数据建立易程序中使用的文本数据。 // nTextLen用作指定文本部分的长度(不包含结束零), // 如果为-1,则取ps的全部长度。 char* CloneTextData (char* ps, INT nTextLen) { if (nTextLen <= 0) return NULL; char* pd = (char*)NotifySys (NRS_MALLOC, (DWORD)(nTextLen + 1), 0); memcpy (pd, ps, nTextLen); pd [nTextLen] = '\0'; return pd; } // 使用指定数据建立易程序中使用的字节集数据。 LPBYTE CloneBinData (LPBYTE pData, INT nDataSize) { if (nDataSize == 0) return NULL; LPBYTE pd = (LPBYTE)NotifySys (NRS_MALLOC, (DWORD)(sizeof (INT) * 2 + nDataSize), 0); *(LPINT)pd = 1; *(LPINT)(pd + sizeof (INT)) = nDataSize; memcpy (pd + sizeof (INT) * 2, pData, nDataSize); return pd; } // 报告运行时错误。 void GReportError (char* szErrText) { NotifySys (NRS_RUNTIME_ERR, (DWORD)szErrText, 0); }