Amiga, MorphOS: Fixed various inconsistencies of the three Amiga-style platforms

git-svn-id: trunk@33225 -
This commit is contained in:
marcus 2016-03-12 17:16:56 +00:00
parent eaab964a98
commit ebc5a637fa
11 changed files with 42 additions and 30 deletions

View File

@ -2259,7 +2259,7 @@ FUNCTION BestModeIDA(const tags : pTagItem location 'a0') : ULONG; syscall GfxBa
PROCEDURE BitMapScale(bitScaleArgs : pBitScaleArgs location 'a0'); syscall GfxBase 678;
FUNCTION BltBitMap(const srcBitMap : pBitMap location 'a0'; xSrc : LONGINT location 'd0'; ySrc : LONGINT location 'd1'; destBitMap : pBitMap location 'a1'; xDest : LONGINT location 'd2'; yDest : LONGINT location 'd3'; xSize : LONGINT location 'd4'; ySize : LONGINT location 'd5'; minterm : ULONG location 'd6'; mask : ULONG location 'd7'; tempA : pCHAR location 'a2') : LONGINT; syscall GfxBase 030;
PROCEDURE BltBitMapRastPort(const srcBitMap : pBitMap location 'a0'; xSrc : LONGINT location 'd0'; ySrc : LONGINT location 'd1'; destRP : pRastPort location 'a1'; xDest : LONGINT location 'd2'; yDest : LONGINT location 'd3'; xSize : LONGINT location 'd4'; ySize : LONGINT location 'd5'; minterm : ULONG location 'd6'); syscall GfxBase 606;
PROCEDURE BltClear(memBlock : pCHAR location 'a1'; byteCount : ULONG location 'd0'; flags : ULONG location 'd1'); syscall GfxBase 300;
PROCEDURE BltClear(memBlock : pointer location 'a1'; byteCount : ULONG location 'd0'; flags : ULONG location 'd1'); syscall GfxBase 300;
PROCEDURE BltMaskBitMapRastPort(const srcBitMap : pBitMap location 'a0'; xSrc : LONGINT location 'd0'; ySrc : LONGINT location 'd1'; destRP : pRastPort location 'a1'; xDest : LONGINT location 'd2'; yDest : LONGINT location 'd3'; xSize : LONGINT location 'd4'; ySize : LONGINT location 'd5'; minterm : ULONG location 'd6';const bltMask : pCHAR location 'a2'); syscall GfxBase 636;
PROCEDURE BltPattern(rp : pRastPort location 'a1';const mask : pCHAR location 'a0'; xMin : LONGINT location 'd0'; yMin : LONGINT location 'd1'; xMax : LONGINT location 'd2'; yMax : LONGINT location 'd3'; maskBPR : ULONG location 'd4'); syscall GfxBase 312;
PROCEDURE BltTemplate(const source : pWORD location 'a0'; xSrc : LONGINT location 'd0'; srcMod : LONGINT location 'd1'; destRP : pRastPort location 'a1'; xDest : LONGINT location 'd2'; yDest : LONGINT location 'd3'; xSize : LONGINT location 'd4'; ySize : LONGINT location 'd5'); syscall GfxBase 036;
@ -2388,7 +2388,7 @@ FUNCTION TextLength(rp : pRastPort location 'a1';const string_ : pCHAR location
FUNCTION UCopperListInit(uCopList : pUCopList location 'a0'; n : LONGINT location 'd0') : pCopList; syscall GfxBase 594;
PROCEDURE UnlockLayerRom(layer : pLayer location 'a5'); syscall GfxBase 438;
FUNCTION VBeamPos : LONGINT; syscall GfxBase 384;
FUNCTION VideoControl(colorMap : pColorMap location 'a0'; tagarray : pTagItem location 'a1') : LongBool; syscall GfxBase 708;
FUNCTION VideoControl(colorMap : pColorMap location 'a0'; tagarray : pTagItem location 'a1') : LongWord; syscall GfxBase 708;
PROCEDURE WaitBlit; syscall GfxBase 228;
PROCEDURE WaitBOVP(vp : pViewPort location 'a0'); syscall GfxBase 402;
PROCEDURE WaitTOF; syscall GfxBase 270;
@ -2408,7 +2408,7 @@ function GetExtSprite(ss : pExtSprite; Const argv : array of PtrUInt) : LONGINT;
procedure GetRPAttrs(rp : pRastPort; Const argv : array of PtrUInt);
function ObtainBestPen(cm : pColorMap; r : ULONG; g : ULONG; b : ULONG; Const argv : array of PtrUInt) : LONGINT;
procedure SetRPAttrs(rp : pRastPort; Const argv : array of PtrUInt);
function VideoControlTags(colorMap : pColorMap; Const argv : array of PtrUInt) : BOOLEAN;
function VideoControlTags(colorMap : pColorMap; Const argv : array of PtrUInt) : LongWord;
function WeighTAMatchTags(reqTextAttr : pTextAttr; targetTextAttr : pTextAttr; Const argv : array of PtrUInt) : smallint;
{ gfxmacros }
@ -2477,7 +2477,7 @@ begin
SetRPAttrsA(rp,@argv);
end;
function VideoControlTags(colorMap : pColorMap; Const argv : array of PtrUInt) : BOOLEAN;
function VideoControlTags(colorMap : pColorMap; Const argv : array of PtrUInt) : LongWord;
begin
VideoControlTags := VideoControl(colorMap,@argv);
end;

View File

@ -551,10 +551,10 @@ VAR AslBase : pLibrary = nil;
FUNCTION AllocAslRequest(reqType : ULONG location 'd0'; tagList : pTagItem location 'a0') : POINTER; syscall AslBase 048;
FUNCTION AllocFileRequest : pFileRequester; syscall AslBase 030;
FUNCTION AslRequest(requester : POINTER location 'a0'; tagList : pTagItem location 'a1') : LongInt; syscall AslBase 060;
FUNCTION AslRequest(requester : POINTER location 'a0'; tagList : pTagItem location 'a1') : LongBool; syscall AslBase 060;
PROCEDURE FreeAslRequest(requester : POINTER location 'a0'); syscall AslBase 054;
PROCEDURE FreeFileRequest(fileReq : pFileRequester location 'a0'); syscall AslBase 036;
FUNCTION RequestFile(fileReq : pFileRequester location 'a0') : LongInt; syscall AslBase 042;
FUNCTION RequestFile(fileReq : pFileRequester location 'a0') : LongBool; syscall AslBase 042;
PROCEDURE AbortAslRequest(requester : POINTER location 'a0'); syscall AslBase 078;
PROCEDURE ActivateAslRequest(requester : POINTER location 'a0'); syscall AslBase 084;
@ -571,7 +571,7 @@ end;
function AslRequestTags(requester : POINTER; Const argv : array of PtrUInt) : BOOLEAN;
begin
AslRequestTags := AslRequest(requester,@argv) <> 0;
AslRequestTags := AslRequest(requester,@argv);
end;

View File

@ -75,7 +75,7 @@ Type
pExpansionControl = ^tExpansionControl;
tExpansionControl = record
ec_Interrupt : Byte; { interrupt control register }
ec_Reserved11 : Byte;
ec_Z3_HighBase : Byte;
ec_BaseAddress : Byte; { set new config address }
ec_Shutup : Byte; { don't respond, pass config out }
ec_Reserved14 : Byte;

View File

@ -486,7 +486,7 @@ const
PROCEDURE ClearRexxMsg(msgptr : pRexxMsg location 'a0'; count : ULONG location 'd0'); syscall RexxSysBase 156;
FUNCTION CreateArgstring(const argstring : pCHAR location 'a0'; length : ULONG location 'd0') : pCHAR; syscall RexxSysBase 126;
FUNCTION CreateRexxMsg(const port : pMsgPort location 'a0'; const extension : pCHAR location 'a1'; host : pCHAR location 'd0') : pRexxMsg; syscall RexxSysBase 144;
PROCEDURE DeleteArgstring(argstring : pCHAR location 'd0'); syscall RexxSysBase 132;
PROCEDURE DeleteArgstring(argstring : pCHAR location 'a0'); syscall RexxSysBase 132;
PROCEDURE DeleteRexxMsg(packet : pRexxMsg location 'a0'); syscall RexxSysBase 150;
FUNCTION FillRexxMsg(msgptr : pRexxMsg location 'a0'; count : ULONG location 'd0'; mask : ULONG location 'd1') : LongBool; syscall RexxSysBase 162;
FUNCTION IsRexxMsg(const msgptr : pRexxMsg location 'a0') : LongBool; syscall RexxSysBase 168;

View File

@ -286,13 +286,13 @@ const
* In practice, an array (or chain of arrays) of TagItems is used.
}
Type
Tag = LongInt;
Tag = LongWord;
pTag = ^Tag;
pTagItem = ^tTagItem;
tTagItem = record
ti_Tag : Tag;
ti_Data : LongInt;
ti_Data : LongWord;
END;
ppTagItem = ^pTagItem;

View File

@ -71,7 +71,7 @@ Type
pWBArg = ^tWBArg;
tWBArg = record
wa_Lock : longint; { a lock descriptor }
wa_Lock : BPTR; { a lock descriptor }
wa_Name : STRPTR; { a string relative to that lock }
end;
@ -850,7 +850,7 @@ type
VAR
WorkbenchBase : pLibrary = nil;
FUNCTION AddAppIconA(id : ULONG location 'd0'; userdata : ULONG location 'd1'; text_ : pCHAR location 'a0'; msgport : pMsgPort location 'a1'; lock : pFileLock location 'a2'; diskobj : pDiskObject location 'a3'; const taglist : pTagItem location 'a4') : pAppIcon; syscall WorkbenchBase 060;
FUNCTION AddAppIconA(id : ULONG location 'd0'; userdata : ULONG location 'd1'; text_ : pCHAR location 'a0'; msgport : pMsgPort location 'a1'; lock : BPTR location 'a2'; diskobj : pDiskObject location 'a3'; const taglist : pTagItem location 'a4') : pAppIcon; syscall WorkbenchBase 060;
FUNCTION AddAppMenuItemA(id : ULONG location 'd0'; userdata : ULONG location 'd1'; text_ : pCHAR location 'a0'; msgport : pMsgPort location 'a1'; const taglist : pTagItem location 'a2') : pAppMenuItem; syscall WorkbenchBase 072;
FUNCTION AddAppWindowA(id : ULONG location 'd0'; userdata : ULONG location 'd1'; window : pWindow location 'a0'; msgport : pMsgPort location 'a1'; const taglist : pTagItem location 'a2') : pAppWindow; syscall WorkbenchBase 042;
FUNCTION RemoveAppIcon(appIcon : pAppIcon location 'a0') : longbool; syscall WorkbenchBase 066;
@ -866,11 +866,12 @@ FUNCTION OpenWorkbenchObjectA(name : pCHAR location 'a0'; const tags : pTagItem
FUNCTION RemoveAppWindowDropZone(aw : pAppWindow location 'a0'; dropZone : pAppWindowDropZone location 'a1') : longbool; syscall WorkbenchBase 120;
FUNCTION WorkbenchControlA(name : pCHAR location 'a0'; const tags : pTagItem location 'a1') : longbool; syscall WorkbenchBase 108;
function AddAppIcon(id : ULONG; userdata : ULONG; text_ : pCHAR; msgport : pMsgPort; lock: BPTR; diskobj : pDiskObject; const taglist : array of PtrUInt) : pAppIcon;
function AddAppMenuItem(id : ULONG; userdata : ULONG; text_ : pCHAR; msgport : pMsgPort; Const argv : array of PtrUInt) : pAppMenuItem;
function AddAppWindow(id : ULONG; userdata : ULONG; window : pWindow; msgport : pMsgPort; Const argv : array of PtrUInt) : pAppWindow;
{ overlays }
FUNCTION AddAppIconA(id : ULONG; userdata : ULONG; const text_ : RawByteString; msgport : pMsgPort; lock : pFileLock; diskobj : pDiskObject;const taglist : pTagItem) : pAppIcon;
FUNCTION AddAppIconA(id : ULONG; userdata : ULONG; const text_ : RawByteString; msgport : pMsgPort; lock : BPTR; diskobj : pDiskObject;const taglist : pTagItem) : pAppIcon;
FUNCTION AddAppMenuItemA(id : ULONG; userdata : ULONG; const text_ : RawByteString; msgport : pMsgPort;const taglist : pTagItem) : pAppMenuItem;
PROCEDURE WBInfo(lock : BPTR; const name : RawByteString; screen : pScreen);
@ -882,6 +883,11 @@ FUNCTION WorkbenchControlA(const name : RawByteString;const tags : pTagItem) : B
IMPLEMENTATION
function AddAppIcon(id : ULONG; userdata : ULONG; text_ : pCHAR; msgport : pMsgPort; lock: BPTR; diskobj : pDiskObject; const taglist : array of PtrUInt) : pAppIcon;
begin
AddAppIcon := AddAppIconA(id, userdata, text_, msgport, lock, diskobj, @taglist);
end;
function AddAppMenuItem(id : ULONG; userdata : ULONG; text_ : pCHAR; msgport : pMsgPort; Const argv : array of PtrUInt) : pAppMenuItem;
begin
AddAppMenuItem := AddAppMenuItemA(id,userdata,text_,msgport,@argv);
@ -892,7 +898,7 @@ begin
AddAppWindow := AddAppWindowA(id,userdata,window,msgport,@argv);
end;
FUNCTION AddAppIconA(id : ULONG; userdata : ULONG; const text_ : RawByteString; msgport : pMsgPort; lock : pFileLock; diskobj : pDiskObject;const taglist : pTagItem) : pAppIcon;
FUNCTION AddAppIconA(id : ULONG; userdata : ULONG; const text_ : RawByteString; msgport : pMsgPort; lock : BPTR; diskobj : pDiskObject;const taglist : pTagItem) : pAppIcon;
begin
AddAppIconA := AddAppIconA(id,userdata,PChar(text_),msgport,lock,diskobj,taglist);
end;

View File

@ -142,7 +142,7 @@ BEGIN
fr := AllocAslRequest(ASL_FileRequest,@mytags);
IF fr <> NIL THEN BEGIN
IF AslRequest(fr,NIL) <> 0 THEN BEGIN
IF AslRequest(fr,NIL) THEN BEGIN
IF (strlen(fr^.rf_Dir) >0) and (strlen(fr^.rf_File) > 0) THEN begin
strcopy(path,fr^.rf_Dir);
strcopy(fname,fr^.rf_File);
@ -248,7 +248,7 @@ BEGIN
fr := AllocAslRequest(ASL_FontRequest,@mytags);
IF fr <> NIL THEN BEGIN
IF AslRequest(fr,NIL) <> 0 THEN BEGIN
IF AslRequest(fr,NIL) THEN BEGIN
WITH finfo DO BEGIN
nfi_Name := strpas(fr^.fo_Attr.ta_Name);
nfi_Size := fr^.fo_Attr.ta_YSize;
@ -322,7 +322,7 @@ BEGIN
fr := AllocAslRequest(ASL_FileRequest,@mytags);
IF fr <> NIL THEN BEGIN
IF AslRequest(fr,NIL) <> 0 THEN BEGIN
IF AslRequest(fr,NIL) THEN BEGIN
IF (strlen(fr^.rf_Dir) >0) THEN begin
strcopy(path,fr^.rf_Dir);
result := true;
@ -382,7 +382,7 @@ BEGIN
fr := AllocAslRequest(ASL_FileRequest,@mytags);
IF fr <> NIL THEN BEGIN
IF AslRequest(fr,NIL) <> 0 THEN BEGIN
IF AslRequest(fr,NIL) THEN BEGIN
IF (strlen(fr^.rf_Dir) >0) THEN begin
strcopy(path,fr^.rf_Dir);
result := true;
@ -445,7 +445,7 @@ BEGIN
fr := AllocAslRequest(ASL_FileRequest,@mytags);
IF fr <> NIL THEN BEGIN
IF AslRequest(fr,NIL) <> 0 THEN BEGIN
IF AslRequest(fr,NIL) THEN BEGIN
IF (strlen(fr^.rf_Dir) >0) and (strlen(fr^.rf_File) > 0) THEN begin
strcopy(path,fr^.rf_Dir);
strcopy(fname,fr^.rf_File);

View File

@ -2274,7 +2274,7 @@ SysCall GfxBase 180;
function AreaEllipse(rp : pRastPort location 'a1'; xCenter : LongInt location 'd0'; yCenter : LongInt location 'd1'; a : LongInt location 'd2'; b : LongInt location 'd3') : LongInt;
SysCall GfxBase 186;
procedure LoadRGB4(vp : pViewPort location 'a0'; VAR colors : Integer location 'a1'; count : LongInt location 'd0');
procedure LoadRGB4(vp : pViewPort location 'a0'; Colors : PWord location 'a1'; count : LongInt location 'd0');
SysCall GfxBase 192;
procedure InitRastPort(rp : pRastPort location 'a1');
@ -2328,7 +2328,7 @@ SysCall GfxBase 288;
procedure QBSBlit(blit : pbltnode location 'a1');
SysCall GfxBase 294;
procedure BltClear(memBlock : pCHAR location 'a1'; byteCount : CARDINAL location 'd0'; flags : CARDINAL location 'd1');
procedure BltClear(memBlock : Pointer location 'a1'; byteCount : CARDINAL location 'd0'; flags : CARDINAL location 'd1');
SysCall GfxBase 300;
procedure RectFill(rp : pRastPort location 'a1'; xMin : LongInt location 'd0'; yMin : LongInt location 'd1'; xMax : LongInt location 'd2'; yMax : LongInt location 'd3');
@ -2526,7 +2526,7 @@ SysCall GfxBase 696;
function GfxLookUp(associateNode : POINTER location 'a0') : POINTER;
SysCall GfxBase 702;
function VideoControl(colorMap : pColorMap location 'a0'; tagarray : pTagItem location 'a1') : LongBool;
function VideoControl(colorMap : pColorMap location 'a0'; tagarray : pTagItem location 'a1') : LongWord;
SysCall GfxBase 708;
function OpenMonitor(monitorName : pSHORTINT location 'a1'; displayID : CARDINAL location 'd0') : pMonitorSpec;

View File

@ -4165,7 +4165,7 @@ SysCall IntuitionBase 258;
function SetMenuStrip(window : pWindow location 'a0'; menu : pMenu location 'a1') : LongBool;
SysCall IntuitionBase 264;
procedure SetPointer(window : pWindow location 'a0'; VAR pointer : Word location 'a1'; height : LongInt location 'd0'; width : LongInt location 'd1'; xOffset : LongInt location 'd2'; yOffset : LongInt location 'd3');
procedure SetPointer(window : pWindow location 'a0'; pointer : PWord location 'a1'; height : LongInt location 'd0'; width : LongInt location 'd1'; xOffset : LongInt location 'd2'; yOffset : LongInt location 'd3');
SysCall IntuitionBase 270;
procedure SetWindowTitles(window : pWindow location 'a0'; windowTitle : PChar location 'a1'; screenTitle : PChar location 'a2');

View File

@ -97,10 +97,10 @@ SysCall KeymapBase 030;
function AskKeyMapDefault : pKeyMap;
SysCall KeymapBase 036;
function MapRawKey(CONST event : pInputEvent location 'a0'; buffer : pSHORTINT location 'a1'; length : longint location 'd1'; CONST keyMap : pKeyMap location 'a2') : INTEGER;
function MapRawKey(CONST event : pInputEvent location 'a0'; buffer : PChar location 'a1'; length : longint location 'd1'; CONST keyMap : pKeyMap location 'a2') : INTEGER;
SysCall KeymapBase 042;
function MapANSI(CONST strg : pSHORTINT location 'a0'; count : longint location 'd0'; buffer : pSHORTINT location 'a1'; length : longint location 'd1'; CONST keyMap : pKeyMap location 'a2') : longint;
function MapANSI(CONST strg : PChar location 'a0'; count : longint location 'd0'; buffer : PChar location 'a1'; length : longint location 'd1'; CONST keyMap : pKeyMap location 'a2') : longint;
SysCall KeymapBase 048;
{ Helper calls }

View File

@ -71,7 +71,7 @@ Type
pWBArg = ^tWBArg;
tWBArg = record
wa_Lock : longint; { a lock descriptor }
wa_Lock : BPTR; { a lock descriptor }
wa_Name : STRPTR; { a string relative to that lock }
end;
@ -850,7 +850,7 @@ type
VAR
WorkbenchBase : pLibrary = nil;
FUNCTION AddAppIconA(id : ULONG location 'd0'; userdata : ULONG location 'd1'; text_ : pCHAR location 'a0'; msgport : pMsgPort location 'a1'; lock : pFileLock location 'a2'; diskobj : pDiskObject location 'a3'; const taglist : pTagItem location 'a4') : pAppIcon; syscall WorkbenchBase 060;
FUNCTION AddAppIconA(id : ULONG location 'd0'; userdata : ULONG location 'd1'; text_ : pCHAR location 'a0'; msgport : pMsgPort location 'a1'; lock : BPTR location 'a2'; diskobj : pDiskObject location 'a3'; const taglist : pTagItem location 'a4') : pAppIcon; syscall WorkbenchBase 060;
FUNCTION AddAppMenuItemA(id : ULONG location 'd0'; userdata : ULONG location 'd1'; text_ : pCHAR location 'a0'; msgport : pMsgPort location 'a1'; const taglist : pTagItem location 'a2') : pAppMenuItem; syscall WorkbenchBase 072;
FUNCTION AddAppWindowA(id : ULONG location 'd0'; userdata : ULONG location 'd1'; window : pWindow location 'a0'; msgport : pMsgPort location 'a1'; const taglist : pTagItem location 'a2') : pAppWindow; syscall WorkbenchBase 042;
FUNCTION RemoveAppIcon(appIcon : pAppIcon location 'a0') : longbool; syscall WorkbenchBase 066;
@ -866,11 +866,12 @@ FUNCTION OpenWorkbenchObjectA(name : pCHAR location 'a0'; const tags : pTagItem
FUNCTION RemoveAppWindowDropZone(aw : pAppWindow location 'a0'; dropZone : pAppWindowDropZone location 'a1') : longbool; syscall WorkbenchBase 120;
FUNCTION WorkbenchControlA(name : pCHAR location 'a0'; const tags : pTagItem location 'a1') : longbool; syscall WorkbenchBase 108;
FUNCTION AddAppIcon(id : ULONG; userdata : ULONG; text_ : pCHAR; msgport : pMsgPort; lock: BPTR; diskobj : pDiskObject; const taglist : array of PtrUInt) : pAppIcon;
function AddAppMenuItem(id : ULONG; userdata : ULONG; text_ : pCHAR; msgport : pMsgPort; Const argv : array of PtrUInt) : pAppMenuItem;
function AddAppWindow(id : ULONG; userdata : ULONG; window : pWindow; msgport : pMsgPort; Const argv : array of PtrUInt) : pAppWindow;
{ overlays }
FUNCTION AddAppIconA(id : ULONG; userdata : ULONG; const text_ : RawByteString; msgport : pMsgPort; lock : pFileLock; diskobj : pDiskObject;const taglist : pTagItem) : pAppIcon;
FUNCTION AddAppIconA(id : ULONG; userdata : ULONG; const text_ : RawByteString; msgport : pMsgPort; lock : BPTR; diskobj : pDiskObject;const taglist : pTagItem) : pAppIcon;
FUNCTION AddAppMenuItemA(id : ULONG; userdata : ULONG; const text_ : RawByteString; msgport : pMsgPort;const taglist : pTagItem) : pAppMenuItem;
PROCEDURE WBInfo(lock : BPTR; const name : RawByteString; screen : pScreen);
@ -882,6 +883,11 @@ FUNCTION WorkbenchControlA(const name : RawByteString;const tags : pTagItem) : B
IMPLEMENTATION
FUNCTION AddAppIcon(id : ULONG; userdata : ULONG; text_ : pCHAR; msgport : pMsgPort; lock: BPTR; diskobj : pDiskObject; const taglist : array of PtrUInt) : pAppIcon;
begin
AddAppIcon := AddAppIconA(id, userdata, text_, msgport, lock, diskobj, @taglist);
end;
function AddAppMenuItem(id : ULONG; userdata : ULONG; text_ : pCHAR; msgport : pMsgPort; Const argv : array of PtrUInt) : pAppMenuItem;
begin
AddAppMenuItem := AddAppMenuItemA(id,userdata,text_,msgport,@argv);
@ -892,7 +898,7 @@ begin
AddAppWindow := AddAppWindowA(id,userdata,window,msgport,@argv);
end;
FUNCTION AddAppIconA(id : ULONG; userdata : ULONG; const text_ : RawByteString; msgport : pMsgPort; lock : pFileLock; diskobj : pDiskObject;const taglist : pTagItem) : pAppIcon;
FUNCTION AddAppIconA(id : ULONG; userdata : ULONG; const text_ : RawByteString; msgport : pMsgPort; lock : BPTR; diskobj : pDiskObject;const taglist : pTagItem) : pAppIcon;
begin
AddAppIconA := AddAppIconA(id,userdata,PChar(text_),msgport,lock,diskobj,taglist);
end;