Ja, das sind Funktionen die einen Pointer auf einen Record als Parameter bekommen und diesen Record dann mit den Daten füllen, in der Import-
Unit sieht das so aus:
Delphi-Quellcode:
//##############################################################################
//#
//# Function tsrGetSpeakers( IDs : PInteger; RecordCount: PInteger): Integer;
//#
//# Description:
//# Get ID list of people that are speaking now
//#
//# Input:
//# IDs: Buffer to hold atleast RecordCount Integers
//# RecordCount: How much Integers IDs can hold
//#
//# Output:
//# Result: 0 = OK, else the error number
//# if result = 0 then
//# IDs: Buffer to RecordCount* Ids of people who are talking
//# RecordCount: How Much people are talking
//#
//##############################################################################
Type TtsrGetSpeakers = Function ( IDs : PInteger; RecordCount: PInteger): Integer;
{$ifdef linux}cdecl;{$endif} {$ifdef mswindows}stdcall;{$endif}
var tsrGetSpeakers : TtsrGetSpeakers;
Const fn_tsrGetSpeakers='tsrGetSpeakers';
//##############################################################################
//#
//# Function tsrGetPlayerInfoByID( PlayerID: Integer;
//# tsrPlayerInfo : PtsrPlayerInfo): Integer;
//#
//# Description:
//# Get the Info on the player specified by PlayerID.
//#
//# Input:
//# PlayerID: The ID of the player you want the info from
//# tsrPlayerInfo: This is the pointer to a TtsrPlayerInfo record
//#
//# Output:
//# Result: 0 = OK, else the error number
//# if result = 0 then tsrPlayerInfo is filled with the player info.
//#
//##############################################################################
type TtsrGetPlayerInfoByID = Function ( PlayerID: Integer; tsrPlayerInfo : PtsrPlayerInfo): Integer;
{$ifdef linux}cdecl;{$endif} {$ifdef mswindows}stdcall;{$endif}
var tsrGetPlayerInfoByID : TtsrGetPlayerInfoByID;
Const fn_tsrGetPlayerInfoByID='tsrGetPlayerInfoByID';
So sieht der Records aus:
Delphi-Quellcode:
Type
PtsrPlayerInfo = ^TtsrPlayerInfo;
TtsrPlayerInfo = packed record
PlayerID : Integer;
ChannelID : Integer;
NickName : Array [0..29] of Char;
PlayerChannelPrivileges : Integer;
PlayerPrivileges : Integer;
PlayerFlags : Integer;
end;
Zitat von
Khabarakh:
Aber wie hast du es geschafft, dass dein Taskmanager einzelne Bytes anzeigt
... ?
Ach verdammt, das sind ja Kilobyte...peinlich