Pointer... (erledigt)
Übersicht BlitzMax, BlitzMax NG Allgemein
VertexBetreff: Pointer... (erledigt) |
Sa, Jan 29, 2005 0:09 Antworten mit Zitat |
|
---|---|---|
Hi!
Habe folgende Funktion Code: [AUSKLAPPEN] struct PROTOENT* FAR getprotobynumber(
int number ); http://msdn.microsoft.com/libr...frame=true Code: [AUSKLAPPEN] typedef struct protoent {
char FAR* p_name; char FAR FAR** p_aliases; short p_proto; } protoent; http://msdn.microsoft.com/libr...oent_2.asp Sie gibt mir z. B. bei 6 "tcp" oder bei 0 "ap" zurück. Problem ist, wie setze ich das ganze in BMax um? Code: [AUSKLAPPEN] Type TProtoent
Field pName:Byte Ptr Field pAliases:Byte Ptr Field shProto:Short End Type Extern "OS" Function s_getprotobynumber:TProtoent(iNumber:Int) = "getprotobynumber@4" End Extern Local tProto:TProtoent tProto = s_getprotobynumber(0) If tProto = Null Then Print "Fehler" Else Print "Protokoll(0) = "+"".FromCString(tProto.pName) End If mfg olli Offentsichtlich ist es nciht wie in C gelöst wurde, man muss immer eine Instanz von der Struktur anlegen, und die Zurückgegebene auf die neue kopieren: Code: [AUSKLAPPEN] Type TProtoent
Field pName:Byte Ptr Field pAliases:Byte Ptr Field shProto:Short End Type Extern "OS" Function s_getprotobynumber:Byte Ptr(iNumber:Int) = "getprotobynumber@4" End Extern Local tProto:TProtoent = New TProtoent MemCopy(tProto, s_getprotobynumber(0), 10) If tProto = Null Then Print "Fehler" Else Print "Protokoll(0) = "+"".FromCString(tProto.pName) End If |
||
vertex.dreamfall.at | GitHub |
Übersicht BlitzMax, BlitzMax NG Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group