//+------------------------------------------------------------------+ //| Project2.mq5 | //| Copyright 2019, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" struct ESTRUCT{ int val1; int val2; }; struct ESTRUCT1/* pack(sizeof(int))*/{ int val1; char cval; int val2; }; struct ESTRUCT2 pack(1){ ESTRUCT2 () { val1 = -1; val2 = 10; } int val1; char cval; ~ESTRUCT2 () {} int f() { int val3 = val1 + val2; return (val3);} int val2; }; #import "Project2.dll" int fnExport(string str); int fnExport1(void); void SamplesA(char& pChar[]); void SamplesW(string& pChar); void SamplesStruct(ESTRUCT& s); void SamplesStruct1(ESTRUCT1& s); void SamplesStruct2(ESTRUCT2& s); #import void OnStart() { Print("fnExport1: ",fnExport1() ); char arr[255]; SamplesA(arr); Print("SamplesA: ",CharArrayToString(arr) ); string t="";// = "Hello from MQL5"; SamplesW(t); Print("SamplesW(): ", t); ESTRUCT e; e.val1 = 1; e.val2 = 2; SamplesStruct(e); Print("SamplesStruct: val1: ",e.val1," val2: ",e.val2); ESTRUCT1 e1; e1.val1 = 2; e1.val2 = 3; SamplesStruct1(e1); t = CharToString(e1.cval); Print("SamplesStruct1: val1: ",e1.val1," cval: ",t," val2: ",e1.val2); ESTRUCT2 e2; e2.val1 = 4; e2.val2 = 5; SamplesStruct2(e2); t = CharToString(e2.cval); Print("SamplesStruct2: val1: ",e2.val1," cval: ",t," val2: ",e2.val2); }