delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/09/03/20:39:58

From: "Mr Jinks" <lcdvt AT worldonline DOT nl>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Functions in struct's... possible? How?
Date: 3 Sep 1997 14:12:10 GMT
Organization: World Online
Lines: 355
Message-ID: <01bcb873$64462640$6e86f1c3@lodewijk>
References: <33FCDA5C DOT 2353659F AT execulink DOT com> <5tippg$ci7$2 AT news DOT sendit DOT nodak DOT edu> <5tkq9a$2se$1 AT helios DOT crest DOT nt DOT com> <5tmcai$nuo$1 AT news DOT sendit DOT nodak DOT edu> <340B1E27 DOT 44FAD207 AT alcyone DOT com> <01bcb756$1d6d3ce0$5386f1c3 AT lodewijk> <5uisg2$s96 AT freenet-news DOT carleton DOT ca>
NNTP-Posting-Host: dlft1-p110.worldonline.nl
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

This is a multi-part message in MIME format.

------=_NextPart_000_01BCB884.27CEF640
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit


------=_NextPart_000_01BCB884.27CEF640
Content-Type: application/octet-stream; name="Example.c"
Content-Transfer-Encoding: 7bit
Content-Description: Example.c (C File)
Content-Disposition: attachment; filename="Example.c"

/* example.c */

/* Include file which contains all object functions and structures */
#include "object.h"

/* Global list of basic objects */
Object *ObjectList[2];

int main()
{
  int i;

  /* Basic object pointer, that you will use to manipulate all objects */
  Object * ObjectPtr;

  /* Initialize all objects here */
  InitializeObjects();

  /* Example loop which manipalates all objects */
  for( i = 0; i < 2; i++)
  {
      ObjectPtr = ObjectList[i];
      ObjectPtr->DoSomething(ObjectPtr);
  /*  OUTPUT:

      X_Object int x = 1
      Y_Object int y = 2

  */
  }

  return 0;
}

------=_NextPart_000_01BCB884.27CEF640
Content-Type: application/octet-stream; name="Example.gdt"
Content-Transfer-Encoding: base64
Content-Description: Example.gdt (GDT File)
Content-Disposition: attachment; filename="Example.gdt"

ABdfX1JISURFX2Rlc2t0b3AtZmlsZV9fGhEAr3FweHQgKCQXHxoxMR5xADc/OhMTPiEABw8PBw8H
cABwf3oTE3Bwf34gKy94LnAwPz4fLxogcjExMC8+MRMAABcfGjExHnEXHx4fGx0dHR0bGkAfME8f
B3B8XwAAAAAANz86ExM+czc/Pj87PT09PTs6QD8QTz8HcHxfAAAAAAAHDw8HDw5wBw8ODwsNDQ0N
CwpADzBPD1dwfF8AAAAAADc/OhMTMD4eTi4AAAAAAAABAAAAAAEAAAABAAAATwAAABYAAAADAAAA
AAAAAAAABQAAAAoAAAABAAAAAi1zCwAAAAEAAAAFLW0zODZkAAAAAAAAAAEAAAADAAAADi4uL2V4
YW1wbGUuZ3ByBSouZ3ByFmM6XGV4YW1wbGVcZXhhbXBsZS5ncHIAAAAABgAAAA4qLlthY2ZnaG1v
cHNdKglleGFtcGxlLmMJaW5pdG9iai5jCW1hbmlwX3guYwltYW5pcF95LmMIb2JqZWN0LmgAAK8H
BwcBcAFwBw8HBwcHcAAHDwcHBwdwAAcPBwcHB3AABw8HBwcHB3ABcAFwBwcHcAcPAXAHBwcHB3AH
AQcHAAAHDwcHBwdwDw8HDw8PDw8PDw9wDwFwD3BwcHAAAAAAAAcPBwcHB3APDwcPDw8PDw8PD3AP
AXAPcHBwcAAAAAAABw8HBwcHcA8PBw8PDw8PDw8PcA8BcA9wcHBwAAAAAAAHDwcHBwcBcHBwAAAA
AAAAr3FweHQgKCQXHxoxMR5xADc/OhMTPiEABw8PBw8HcABwf3oTE3Bwf34gKy94LnAwPz4fLxog
cjExMC8+MRMAABcfGjExHnEXHx4fGx0dHR0bGkAfME8fB3B8XwAAAAAANz86ExM+czc/Pj87PT09
PTs6QD8QTz8HcHxfAAAAAAAHDw8HDw5wBw8ODwsNDQ0NCwpADzBPD1dwfF8AAAAAADc/OhMTMD4e
Ti4AAAAAAAAFACAzAAH//////////////////////////////////////////wAIAAAAAAAQAAAA
UAAAABcAAAAAAAAAEAAAAFAAAAAXAAAAC2M6L2V4YW1wbGUv

------=_NextPart_000_01BCB884.27CEF640
Content-Type: application/octet-stream; name="Example.gpr"
Content-Transfer-Encoding: base64
Content-Description: Example.gpr (GPR File)
Content-Disposition: attachment; filename="Example.gpr"

F19fUkhJREVfcHJvamVjdC1maWxlX18aAlsBAQUABAD/C2V4YW1wbGUuZXhlCQAKAAUAAlsBAwQA
AAAEAAAABQAAAAJbAQIEAAlleGFtcGxlLmMJZXhhbXBsZS5vAAAFAAAAAlsBAwEAAAAHAAAACAAA
AAJbAQIEAP8Ib2JqZWN0LmgJAAgACAAA/wAAAAAAAAAA//9dXf8AAAAAAAAAAP//XQJbAQIEAAlp
bml0b2JqLmMJaW5pdG9iai5vAAAFAAAAAlsBAwMAAAAHAAAACAAAAAJbAQIEAP8ZYzovZGpncHAv
aW5jbHVkZS9zdGRsaWIuaAkACAAIAAD/AAAAAAAAAAD//10CWwECBAD/HmM6L2RqZ3BwL2luY2x1
ZGUvc3lzL2RqdHlwZXMuaAkACAAIAAD/AAAAAAAAAAD//10CWwECBAD/CG9iamVjdC5oCQAIAAgA
AP8AAAAAAAAAAP//XV3/AAAAAAAAAAD//10CWwECBAAJbWFuaXBfeC5jCW1hbmlwX3gubwAABQAA
AAJbAQMDAAAABwAAAAgAAAACWwECBAD/GGM6L2RqZ3BwL2luY2x1ZGUvc3RkaW8uaAkACAAIAAD/
AAAAAAAAAAD//10CWwECBAD/HmM6L2RqZ3BwL2luY2x1ZGUvc3lzL2RqdHlwZXMuaAkACAAIAAD/
AAAAAAAAAAD//10CWwECBAD/CG9iamVjdC5oCQAIAAgAAP8AAAAAAAAAAP//XV3/AAAAAAAAAAD/
/10CWwECBAAJbWFuaXBfeS5jCW1hbmlwX3kubwAABQAAAAJbAQMDAAAABwAAAAgAAAACWwECBAD/
GGM6L2RqZ3BwL2luY2x1ZGUvc3RkaW8uaAkACAAIAAD/AAAAAAAAAAD//10CWwECBAD/HmM6L2Rq
Z3BwL2luY2x1ZGUvc3lzL2RqdHlwZXMuaAkACAAIAAD/AAAAAAAAAAD//10CWwECBAD/CG9iamVj
dC5oCQAIAAgAAP8AAAAAAAAAAP//XV3/AAAAAAAAAAD//11d/wAAAAAAAAAA//8CWwEGBgACWwEL
AAAAAAAAAAABAAAAXQJbAQsAAAAAAAAAAAEAAABdAAACWwELAAAAAAAAAAABAAAAXUwDAlsBDQEA
AAABAAAAAQAAAAItc10CWwENAQAAAAEAAAABAAAABS1tMzg2XQJbAQsAAAAAAAAAAAEAAABdAlsB
CwAAAAAAAAAAAQAAAF0CWwEFMQAAADEAAAAKAAAAAlsBBAEAAi1PAQEBAwAAAF0CWwEEAQAOLWZj
YWxsZXItc2F2ZXMAAABdAlsBBAEAEi1mY3NlLWZvbGxvdy1qdW1wcwAAAF0CWwEEAQARLWZjc2Ut
c2tpcC1ibG9ja3MAAABdAlsBBAEAEC1mZGVmYXVsdC1pbmxpbmUAAABdAlsBBAEACy1mZGVmZXIt
cG9wAAAAXQJbAQQBABAtZmRlbGF5ZWQtYnJhbmNoAAAAXQJbAQQBABktZmV4cGVuc2l2ZS1vcHRp
bWl6YXRpb25zAAAAXQJbAQQBAAstZmZhc3QtbWF0aAEAAF0CWwEEAQANLWZmbG9hdC1zdG9yZQAA
AF0CWwEEAQAMLWZmb3JjZS1hZGRyAAAAXQJbAQQBAAstZmZvcmNlLW1lbQAAAF0CWwEEAQAOLWZm
dW5jdGlvbi1jc2UAAABdAlsBBAEACC1maW5saW5lAAAAXQJbAQQBABItZmlubGluZS1mdW5jdGlv
bnMAAABdAlsBBAEAFy1ma2VlcC1pbmxpbmUtZnVuY3Rpb25zAAAAXQJbAQQBABEtZm5vLWNhbGxl
ci1zYXZlcwAAAF0CWwEEAQAVLWZuby1jc2UtZm9sbG93LWp1bXBzAAAAXQJbAQQBABQtZm5vLWNz
ZS1za2lwLWJsb2NrcwAAAF0CWwEEAQATLWZuby1kZWZhdWx0LWlubGluZQAAAF0CWwEEAQAOLWZu
by1kZWZlci1wb3AAAABdAlsBBAEAEy1mbm8tZGVsYXllZC1icmFuY2gAAABdAlsBBAEAHC1mbm8t
ZXhwZW5zaXZlLW9wdGltaXphdGlvbnMAAABdAlsBBAEADi1mbm8tZmFzdC1tYXRoAAAAXQJbAQQB
ABAtZm5vLWZsb2F0LXN0b3JlAAAAXQJbAQQBAA8tZm5vLWZvcmNlLWFkZHIAAABdAlsBBAEADi1m
bm8tZm9yY2UtbWVtAAAAXQJbAQQBABEtZm5vLWZ1bmN0aW9uLWNzZQAAAF0CWwEEAQALLWZuby1p
bmxpbmUAAABdAlsBBAEAFS1mbm8taW5saW5lLWZ1bmN0aW9ucwAAAF0CWwEEAQAaLWZuby1rZWVw
LWlubGluZS1mdW5jdGlvbnMAAABdAlsBBAEAFy1mbm8tb21pdC1mcmFtZS1wb2ludGVyAAAAXQJb
AQQBAA0tZm5vLXBlZXBob2xlAAAAXQJbAQQBABktZm5vLXJlcnVuLWNzZS1hZnRlci1sb29wAAAA
XQJbAQQBABMtZm5vLXNjaGVkdWxlLWluc25zAAAAXQJbAQQBABQtZm5vLXNjaGVkdWxlLWluc25z
MgAAAF0CWwEEAQAULWZuby1zdHJlbmd0aC1yZWR1Y2UAAABdAlsBBAEAES1mbm8tdGhyZWFkLWp1
bXBzAAAAXQJbAQQBABUtZm5vLXVucm9sbC1hbGwtbG9vcHMAAABdAlsBBAEAES1mbm8tdW5yb2xs
LWxvb3BzAAAAXQJbAQQBABQtZm9taXQtZnJhbWUtcG9pbnRlcgEAAF0CWwEEAQAKLWZwZWVwaG9s
ZQAAAF0CWwEEAQAWLWZyZXJ1bi1jc2UtYWZ0ZXItbG9vcAAAAF0CWwEEAQAQLWZzY2hlZHVsZS1p
bnNucwAAAF0CWwEEAQARLWZzY2hlZHVsZS1pbnNuczIAAABdAlsBBAEAES1mc3RyZW5ndGgtcmVk
dWNlAAAAXQJbAQQBAA4tZnRocmVhZC1qdW1wcwAAAF0CWwEEAQASLWZ1bnJvbGwtYWxsLWxvb3Bz
AAAAXQJbAQQBAA4tZnVucm9sbC1sb29wcwAAAF1dAlsBBSgAAAAoAAAACgAAAAJbAQQBAA0tZnN5
bnRheC1vbmx5AAAAXQJbAQQBAAktcGVkYW50aWMAAABdAlsBBAEAEC1wZWRhbnRpYy1lcnJvcnMA
AABdAlsBBAEAAi13AAAAXQJbAQQBAAItVwAAAF0CWwEEAQASLVdhZ2dyZWdhdGUtcmV0dXJuAAAA
XQJbAQQBAAUtV2FsbAAAAF0CWwEEAQATLVdiYWQtZnVuY3Rpb24tY2FzdAAAAF0CWwEEAQAMLVdj
YXN0LWFsaWduAAAAXQJbAQQBAAstV2Nhc3QtcXVhbAAAAF0CWwEEAQARLVdjaGFyLXN1YnNjcmlw
dHMAAABdAlsBBAEACS1XY29tbWVudAAAAF0CWwEEAQAMLVdjb252ZXJzaW9uAAAAXQJbAQQBAAwt
V2VudW0tY2xhc2gAAABdAlsBBAEABy1XZXJyb3IAAABdAlsBBAEACC1XZm9ybWF0AAAAXQJbAQQB
AAstV2lkLWNsYXNoLQABAv////9dAlsBBAEACi1XaW1wbGljaXQAAABdAlsBBAEACC1XaW5saW5l
AAAAXQJbAQQBAA4tV2xhcmdlci10aGFuLQABAv////9dAlsBBAEAFi1XbWlzc2luZy1kZWNsYXJh
dGlvbnMAAABdAlsBBAEAFC1XbWlzc2luZy1wcm90b3R5cGVzAAAAXQJbAQQBABAtV25lc3RlZC1l
eHRlcm5zAAAAXQJbAQQBAAstV25vLWltcG9ydAAAAF0CWwEEAQAULVdvdmVybG9hZGVkLXZpcnR1
YWwAAABdAlsBBAEADS1XcGFyZW50aGVzZXMAAABdAlsBBAEADy1XcG9pbnRlci1hcml0aAAAAF0C
WwEEAQARLVdyZWR1bmRhbnQtZGVjbHMAAABdAlsBBAEACS1XcmVvcmRlcgAAAF0CWwEEAQANLVdy
ZXR1cm4tdHlwZQAAAF0CWwEEAQAILVdzaGFkb3cAAABdAlsBBAEAEy1Xc3RyaWN0LXByb3RvdHlw
ZXMAAABdAlsBBAEACC1Xc3dpdGNoAAAAXQJbAQQBAActV3N5bnRoAAAAXQJbAQQBABQtV3RlbXBs
YXRlLWRlYnVnZ2luZwAAAF0CWwEEAQANLVd0cmFkaXRpb25hbAAAAF0CWwEEAQALLVd0cmlncmFw
aHMAAABdAlsBBAEADy1XdW5pbml0aWFsaXplZAAAAF0CWwEEAQAILVd1bnVzZWQAAABdAlsBBAEA
Dy1Xd3JpdGUtc3RyaW5ncwAAAF1dAlsBBQ4AAAAOAAAACgAAAAJbAQQBAAItZwEBAf////9dAlsB
BAEAAi1hAAAAXQJbAQQBAAItZAABBBZNTkR5cnhqc0x0ZmNTbGdSSmRrYW1w/10CWwEEAQAPLWZw
cmV0ZW5kLWZsb2F0AAAAXQJbAQQBAAYtZ2NvZmYAAQH/////XQJbAQQBAActZ2R3YXJmAAEB////
/10CWwEEAQAILWdkd2FyZisAAABdAlsBBAEABS1nZ2RiAAEB/////10CWwEEAQAHLWdzdGFicwAB
Af////9dAlsBBAEACC1nc3RhYnMrAAAAXQJbAQQBAActZ3hjb2ZmAAEB/////10CWwEEAQACLXAA
AABdAlsBBAEAAy1wZwAAAF0CWwEEAQALLXNhdmUtdGVtcHMAAABdXQJbAQUaAAAAGgAAAAoAAAAC
WwEEAQANLWZhbGwtdmlydHVhbAAAAF0CWwEEAQAYLWZhbHQtZXh0ZXJuYWwtdGVtcGxhdGVzAAAA
XQJbAQQBAAstZmNoZWNrLW5ldwAAAF0CWwEEAQAQLWZjb25zZXJ2ZS1zcGFjZQAAAF0CWwEEAQAY
LWZkb2xsYXJzLWluLWlkZW50aWZpZXJzAAAAXQJbAQQBABAtZmVudW0taW50LWVxdWl2AAAAXQJb
AQQBABQtZmV4dGVybmFsLXRlbXBsYXRlcwAAAF0CWwEEAQATLWZoYW5kbGUtc2lnbmF0dXJlcwAA
AF0CWwEEAQAOLWZodWdlLW9iamVjdHMAAABdAlsBBAEAES1mbWVtb2l6ZS1sb29rdXBzAAAAXQJb
AQQBABMtZm5vLWFjY2Vzcy1jb250cm9sAAAAXQJbAQQBABMtZm5vLWRlZmF1bHQtaW5saW5lAAAA
XQJbAQQBABEtZm5vLWdudS1rZXl3b3JkcwAAAF0CWwEEAQAWLWZuby1pbXBsZW1lbnQtaW5saW5l
cwAAAF0CWwEEAQAXLWZuby1pbXBsaWNpdC10ZW1wbGF0ZXMAAABdAlsBBAEAFC1mbm8tbm9ubnVs
bC1vYmplY3RzAAAAXQJbAQQBABAtZm9wZXJhdG9yLW5hbWVzAAAAXQJbAQQBAA8tZnNhdmUtbWVt
b2l6ZWQAAABdAlsBBAEAEi1mc3RyaWN0LXByb3RvdHlwZQAAAF0CWwEEAQASLWZ0aGlzLWlzLXZh
cmlhYmxlAAAAXQJbAQQBAA8tZnZ0YWJsZS10aHVua3MAAABdAlsBBAEACy1ub3N0ZGluYysrAAAA
XQJbAQQBAAwtdHJhZGl0aW9uYWwAAABdAlsBBAEADC1XZW51bS1jbGFzaAAAAF0CWwEEAQAULVdv
dmVybG9hZGVkLXZpcnR1YWwAAABdAlsBBAEAFC1XdGVtcGxhdGUtZGVidWdnaW5nAAAAXV0CWwEF
DwAAAA8AAAAKAAAAAlsBBAEABS1hbnNpAAAAXQJbAQQBABgtZmFsbG93LXNpbmdsZS1wcmVjaXNp
b24AAABdAlsBBAEADy1mY29uZC1taXNtYXRjaAAAAF0CWwEEAQAILWZuby1hc20AAABdAlsBBAEA
DC1mbm8tYnVpbHRpbgAAAF0CWwEEAQAVLWZuby1zaWduZWQtYml0ZmllbGRzAAAAXQJbAQQBABct
Zm5vLXVuc2lnbmVkLWJpdGZpZWxkcwAAAF0CWwEEAQASLWZzaWduZWQtYml0ZmllbGRzAAAAXQJb
AQQBAA0tZnNpZ25lZC1jaGFyAAAAXQJbAQQBABQtZnVuc2lnbmVkLWJpdGZpZWxkcwAAAF0CWwEE
AQAPLWZ1bnNpZ25lZC1jaGFyAAAAXQJbAQQBABItZndyaXRhYmxlLXN0cmluZ3MAAABdAlsBBAEA
DC10cmFkaXRpb25hbAAAAF0CWwEEAQAQLXRyYWRpdGlvbmFsLWNwcAAAAF0CWwEEAQAKLXRyaWdy
YXBocwAAAF1dAlsBDQAAAAAAAAAAAQAAAF0CWwEOawAAAGsAAAABAAAACV9fYWxpZ25vZgtfX2Fs
aWdub2ZfXwVfX2FzbQdfX2FzbV9fC19fYXR0cmlidXRlDV9fYXR0cmlidXRlX18HX19jb25zdAlf
X2NvbnN0X18PX19jb25zdHJ1Y3Rvcl9fDl9fZGVzdHJ1Y3Rvcl9fDV9fZXh0ZW5zaW9uX18IX19p
bmxpbmUKX19pbmxpbmVfXwlfX2xhYmVsX18KX19wYWNrZWRfXwtfX3JlZ3Bhcm1fXw1fX3NpZ25h
dHVyZV9fCF9fc2lnbmVkCl9fc2lnbmVkX18JX19zaWdvZl9fCF9fdHlwZW9mCl9fdHlwZW9mX18K
X191bnVzZWRfXwpfX3ZvbGF0aWxlDF9fdm9sYXRpbGVfXwlfX3djaGFyX3QDYW5kBmFuZF9lcQNh
c20EYXV0bwZiaXRhbmQFYml0b3IEYm9vbAVicmVhawRjYXNlBWNhdGNoBGNoYXIFY2xhc3MFY29t
cGwFY29uc3QKY29uc3RfY2FzdAtjb25zdHJ1Y3Rvcghjb250aW51ZQdkZWZhdWx0BmRlbGV0ZQpk
ZXN0cnVjdG9yAmRvBmRvdWJsZQxkeW5hbWljX2Nhc3QEZWxzZQRlbnVtCGV4cGxpY2l0BmV4dGVy
bgVmYWxzZQVmbG9hdANmb3IGZnJpZW5kBGdvdG8CaWYGaW5saW5lA2ludARsb25nB211dGFibGUJ
bmFtZXNwYWNlA25ldwNub3QGbm90X2VxCG9wZXJhdG9yAm9yBW9yX2VxCG92ZXJsb2FkBnBhY2tl
ZAdwcml2YXRlCXByb3RlY3RlZAZwdWJsaWMIcmVnaXN0ZXIHcmVncGFybRByZWludGVycHJldF9j
YXN0BnJldHVybgVzaG9ydAlzaWduYXR1cmUGc2lnbmVkBXNpZ29mBnNpemVvZgZzdGF0aWMLc3Rh
dGljX2Nhc3QGc3RydWN0BnN3aXRjaAh0ZW1wbGF0ZQR0aGlzBXRocm93BHRydWUDdHJ5B3R5cGVk
ZWYGdHlwZWlkCHR5cGVuYW1lBnR5cGVvZgV1bmlvbgh1bnNpZ25lZAZ1bnVzZWQFdXNpbmcHdmly
dHVhbAR2b2lkCHZvbGF0aWxlBXdoaWxlA3hvcgZ4b3JfZXEAAAAAXQJbAQ4AAAAAAAAAAAUAAAAA
AAAAXQJbAQUPAAAADwAAAAoAAAACWwEEAQAOLWZjaGFyLWVzY2FwZXMAAABdAlsBBAEACy1mYy1u
dW1iZXJzAAAAXQJbAQQBAA8tZnNob3J0LWNpcmN1aXQAAABdAlsBBAEACS1mbGF6eS1pbwAAAF0C
WwEEAQARLWZzdGFuZGFyZC1wYXNjYWwAAABdAlsBBAEAES1mZXh0ZW5kZWQtcGFzY2FsAAAAXQJb
AQQBAA8tZm9iamVjdC1wYXNjYWwAAABdAlsBBAEAEC1mYm9ybGFuZC1wYXNjYWwAAABdAlsBBAEA
Cy1mcGFzY2FsLXNjAAAAXQJbAQQBABEtZmV4dGVuZGVkLXN5bnRheAAAAF0CWwEEAQAHLWZsaW5l
cwAAAF0CWwEEAQALLWZkZWJ1Zy1ncGkAAABdAlsBBAEAES1mbmVzdGVkLWNvbW1lbnRzAAAAXQJb
AQQBAAstZnNldGxpbWl0OgABAv////9dAlsBBAEACy1mZ3BjLW1haW46AAEE//9dXQJbAQ5IAAAA
SAAAAAEAAAAIQWJzb2x1dGUIQWJzdHJhY3QDQWxsA0FuZAhBbmRfdGhlbgVBcnJheQNBc20FQmVn
aW4IQmluZGFibGUEQ2FzZQVDbGFzcwVDb25zdAtDb25zdHJ1Y3RvcgpEZXN0cnVjdG9yA0RpdgJE
bwZEb3dudG8ERWxzZQNFbmQGRXhwb3J0B0V4cG9ydHMERmlsZQNGb3IIRnVuY3Rpb24ER290bwJJ
Zg5JbXBsZW1lbnRhdGlvbgZJbXBvcnQCSW4JSW5oZXJpdGVkBklubGluZQlJbnRlcmZhY2UCSXMF
TGFiZWwHTGlicmFyeQNNb2QGTW9kdWxlA05pbANOb3QGT2JqZWN0Ak9mBE9ubHkIT3BlcmF0b3IC
T3IHT3JfZWxzZQlPdGhlcndpc2UGUGFja2VkA1BvdwlQcm9jZWR1cmUHUHJvZ3JhbQhQcm9wZXJ0
eQlQcm90ZWN0ZWQJUXVhbGlmaWVkBlJlY29yZAZSZXBlYXQKUmVzdHJpY3RlZANTZXQDU2hsA1No
cgRUaGVuAlRvBFR5cGUEVW5pdAVVbnRpbARVc2VzBVZhbHVlA1ZhcgRWaWV3B1ZpcnR1YWwFV2hp
bGUEV2l0aANYb3IAAAAAXQJbAQVpAAAAaQAAAAoAAAACWwEEAQAJLWZ2ZXJzaW9uAAAAXQJbAQQB
AA4tZm51bGwtdmVyc2lvbgAAAF0CWwEEAQASLWZzZXQtZzc3LWRlZmF1bHRzAAAAXQJbAQQBAAUt
ZmY2NgAAAF0CWwEEAQAILWZuby1mNjYAAABdAlsBBAEABS1mZjc3AAAAXQJbAQQBAAgtZm5vLWY3
NwAAAF0CWwEEAQAFLWZmOTAAAABdAlsBBAEACC1mbm8tZjkwAAAAXQJbAQQBAAstZmF1dG9tYXRp
YwAAAF0CWwEEAQAOLWZuby1hdXRvbWF0aWMAAABdAlsBBAEACy1mZG9sbGFyLW9rAAAAXQJbAQQB
AA4tZm5vLWRvbGxhci1vawAAAF0CWwEEAQAFLWZmMmMAAABdAlsBBAEACC1mbm8tZjJjAAAAXQJb
AQQBAA0tZmYyYy1saWJyYXJ5AAAAXQJbAQQBABAtZm5vLWYyYy1saWJyYXJ5AAAAXQJbAQQBAAst
ZmZyZWUtZm9ybQAAAF0CWwEEAQAOLWZuby1mcmVlLWZvcm0AAABdAlsBBAEADC1mZml4ZWQtZm9y
bQAAAF0CWwEEAQAPLWZuby1maXhlZC1mb3JtAAAAXQJbAQQBAAotZnBlZGFudGljAAAAXQJbAQQB
AA0tZm5vLXBlZGFudGljAAAAXQJbAQQBAA0tZnZ4dC1ub3QtZjkwAAAAXQJbAQQBAA0tZmY5MC1u
b3Qtdnh0AAAAXQJbAQQBAAYtZnVnbHkAAABdAlsBBAEACS1mbm8tdWdseQAAAF0CWwEEAQALLWZ1
Z2x5LWFyZ3MAAABdAlsBBAEADi1mbm8tdWdseS1hcmdzAAAAXQJbAQQBAA4tZnVnbHktYXNzdW1l
ZAAAAF0CWwEEAQARLWZuby11Z2x5LWFzc3VtZWQAAABdAlsBBAEADC1mdWdseS1jb21tYQAAAF0C
WwEEAQAPLWZuby11Z2x5LWNvbW1hAAAAXQJbAQQBAAstZnVnbHktaW5pdAAAAF0CWwEEAQAOLWZu
by11Z2x5LWluaXQAAABdAlsBBAEADS1mdWdseS1sb2dpbnQAAABdAlsBBAEAEC1mbm8tdWdseS1s
b2dpbnQAAABdAlsBBAEABy1mZGVidWcAAABdAlsBBAEACi1mbm8tZGVidWcAAABdAlsBBAEAES1m
aW5pdC1sb2NhbC16ZXJvAAAAXQJbAQQBABQtZm5vLWluaXQtbG9jYWwtemVybwAAAF0CWwEEAQAL
LWZiYWNrc2xhc2gAAABdAlsBBAEADi1mbm8tYmFja3NsYXNoAAAAXQJbAQQBAA4tZnVuZGVyc2Nv
cmluZwAAAF0CWwEEAQARLWZuby11bmRlcnNjb3JpbmcAAABdAlsBBAEAEy1mc2Vjb25kLXVuZGVy
c2NvcmUAAABdAlsBBAEAFi1mbm8tc2Vjb25kLXVuZGVyc2NvcmUAAABdAlsBBAEAFS1maW50cmlu
LWNhc2UtaW5pdGNhcAAAAF0CWwEEAQATLWZpbnRyaW4tY2FzZS11cHBlcgAAAF0CWwEEAQATLWZp
bnRyaW4tY2FzZS1sb3dlcgAAAF0CWwEEAQARLWZpbnRyaW4tY2FzZS1hbnkAAABdAlsBBAEAFC1m
bWF0Y2gtY2FzZS1pbml0Y2FwAAAAXQJbAQQBABItZm1hdGNoLWNhc2UtdXBwZXIAAABdAlsBBAEA
Ei1mbWF0Y2gtY2FzZS1sb3dlcgAAAF0CWwEEAQAQLWZtYXRjaC1jYXNlLWFueQAAAF0CWwEEAQAT
LWZzb3VyY2UtY2FzZS11cHBlcgAAAF0CWwEEAQATLWZzb3VyY2UtY2FzZS1sb3dlcgAAAF0CWwEE
AQAWLWZzb3VyY2UtY2FzZS1wcmVzZXJ2ZQAAAF0CWwEEAQAVLWZzeW1ib2wtY2FzZS1pbml0Y2Fw
AAAAXQJbAQQBABMtZnN5bWJvbC1jYXNlLXVwcGVyAAAAXQJbAQQBABMtZnN5bWJvbC1jYXNlLWxv
d2VyAAAAXQJbAQQBABEtZnN5bWJvbC1jYXNlLWFueQAAAF0CWwEEAQATLWZjYXNlLXN0cmljdC11
cHBlcgAAAF0CWwEEAQATLWZjYXNlLXN0cmljdC1sb3dlcgAAAF0CWwEEAQAOLWZjYXNlLWluaXRj
YXAAAABdAlsBBAEADC1mY2FzZS11cHBlcgAAAF0CWwEEAQAMLWZjYXNlLWxvd2VyAAAAXQJbAQQB
AA8tZmNhc2UtcHJlc2VydmUAAABdAlsBBAEAFy1mZGNwLWludHJpbnNpY3MtZGVsZXRlAAAAXQJb
AQQBABUtZmRjcC1pbnRyaW5zaWNzLWhpZGUAAABdAlsBBAEAGC1mZGNwLWludHJpbnNpY3MtZGlz
YWJsZQAAAF0CWwEEAQAXLWZkY3AtaW50cmluc2ljcy1lbmFibGUAAABdAlsBBAEAFy1mZjJjLWlu
dHJpbnNpY3MtZGVsZXRlAAAAXQJbAQQBABUtZmYyYy1pbnRyaW5zaWNzLWhpZGUAAABdAlsBBAEA
GC1mZjJjLWludHJpbnNpY3MtZGlzYWJsZQAAAF0CWwEEAQAXLWZmMmMtaW50cmluc2ljcy1lbmFi
bGUAAABdAlsBBAEAFy1mZjkwLWludHJpbnNpY3MtZGVsZXRlAAAAXQJbAQQBABUtZmY5MC1pbnRy
aW5zaWNzLWhpZGUAAABdAlsBBAEAGC1mZjkwLWludHJpbnNpY3MtZGlzYWJsZQAAAF0CWwEEAQAX
LWZmOTAtaW50cmluc2ljcy1lbmFibGUAAABdAlsBBAEAFy1mbWlsLWludHJpbnNpY3MtZGVsZXRl
AAAAXQJbAQQBABUtZm1pbC1pbnRyaW5zaWNzLWhpZGUAAABdAlsBBAEAGC1mbWlsLWludHJpbnNp
Y3MtZGlzYWJsZQAAAF0CWwEEAQAXLWZtaWwtaW50cmluc2ljcy1lbmFibGUAAABdAlsBBAEAGC1m
dW5peC1pbnRyaW5zaWNzLWRlbGV0ZQAAAF0CWwEEAQAWLWZ1bml4LWludHJpbnNpY3MtaGlkZQAA
AF0CWwEEAQAZLWZ1bml4LWludHJpbnNpY3MtZGlzYWJsZQAAAF0CWwEEAQAYLWZ1bml4LWludHJp
bnNpY3MtZW5hYmxlAAAAXQJbAQQBABctZnZ4dC1pbnRyaW5zaWNzLWRlbGV0ZQAAAF0CWwEEAQAV
LWZ2eHQtaW50cmluc2ljcy1oaWRlAAAAXQJbAQQBABgtZnZ4dC1pbnRyaW5zaWNzLWRpc2FibGUA
AABdAlsBBAEAFy1mdnh0LWludHJpbnNpY3MtZW5hYmxlAAAAXQJbAQQBAActZnplcm9zAAAAXQJb
AQQBAAotZm5vLXplcm9zAAAAXQJbAQQBAA4tZmRlYnVnLWtsdWRnZQAAAF0CWwEEAQARLWZuby1k
ZWJ1Zy1rbHVkZ2UAAABdAlsBBAEACS1mb25ldHJpcAAAAF0CWwEEAQAMLWZuby1vbmV0cmlwAAAA
XQJbAQQBAAgtZnNpbGVudAAAAF0CWwEEAQALLWZuby1zaWxlbnQAAABdAlsBBAEADi1mdHlwZWxl
c3MtYm96AAAAXQJbAQQBABEtZm5vLXR5cGVsZXNzLWJvegAAAF0CWwEEAQAMLVdzdXJwcmlzaW5n
AAAAXQJbAQQBAA8tV25vLXN1cnByaXNpbmcAAABdAlsBBAEAFC1mZml4ZWQtbGluZS1sZW5ndGgt
AAAAXV0CWwELAAAAAAAAAAABAAAAXV0OKi5bYWNmZ2htb3BzXSoIAAAAAwAAAAAAAlsBDQEAAAAB
AAAAAQAAAARsaWJjXQIAAABYAgAABG1haW5d

------=_NextPart_000_01BCB884.27CEF640
Content-Type: application/octet-stream; name="Initobj.c"
Content-Transfer-Encoding: 7bit
Content-Description: Initobj.c (C File)
Content-Disposition: attachment; filename="Initobj.c"

// initobj.c

/* Include file which contains malloc() function */
#include <stdlib.h>
/* Include file which contains all object functions and structures */
#include "object.h"

void InitializeObjects()
{
  X_Object * x;
  Y_Object * y;

  if((x = malloc(sizeof(X_Object))) == NULL)
  {
    printf("Couldn't get memory\n");
    exit(1);
  }
  x->DoSomething = Manip_X;

  if((y = malloc(sizeof(Y_Object))) == NULL)
  {
    printf("Couldn't get memory\n");
    exit(1);
  }
  y->DoSomething = Manip_Y;

  ObjectList[0] = (Object*)x;
  ObjectList[1] = (Object*)y;
}
------=_NextPart_000_01BCB884.27CEF640
Content-Type: application/octet-stream; name="Manip_x.c"
Content-Transfer-Encoding: 7bit
Content-Description: Manip_x.c (C File)
Content-Disposition: attachment; filename="Manip_x.c"

/* manip_x.c */

/* Include file which contains printf() function */
#include <stdio.h>
/* Include file which contains all object functions and structures */
#include "object.h"

void Manip_X(X_Object * x)
{
  /* Set variable x from a X_Object to 1 */
  x->x = 1;

  /* Display the value x from the X_Object */
  printf("X_Object int x = %d\n",x->x);
};

------=_NextPart_000_01BCB884.27CEF640
Content-Type: application/octet-stream; name="Manip_y.c"
Content-Transfer-Encoding: 7bit
Content-Description: Manip_y.c (C File)
Content-Disposition: attachment; filename="Manip_y.c"

/* manip_y.c */

/* Include file which contains printf() function */
#include <stdio.h>
/* Include file which contains all object functions and structures */
#include "object.h"

void Manip_Y(Y_Object * y)
{
  /* Set variable y from a Y_Object to 2 */
  y->y = 2;

  /* Display the value y from the Y_Object */
  printf("Y_Object int y = %d\n",y->y);
}
------=_NextPart_000_01BCB884.27CEF640
Content-Type: application/octet-stream; name="Object.h"
Content-Transfer-Encoding: 7bit
Content-Description: Object.h (H File)
Content-Disposition: attachment; filename="Object.h"

#ifndef OBJECT_H
#define OBJECT_H

#define BASE_OBJECT      \
  void (*DoSomething)();

typedef struct { BASE_OBJECT } Object;

typedef struct
{
  BASE_OBJECT
  int x;
}X_Object;

typedef struct
{
  BASE_OBJECT
  int y;
}Y_Object;

extern void InitializeObjects(void);   //Declared in initobj.c
extern void Manip_X(X_Object *);             //Declared in manip_x.c
extern void Manip_Y(Y_Object *);             //Declared in manip_y.c
extern Object *ObjectList[];           //Declared in example.c

#endif // endif : #ifndef OBJECT_H

------=_NextPart_000_01BCB884.27CEF640--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019