//+------------------------------------------------------------------+
//|                                                         py26.mqh |
//|                                                     Bernd Kreuss |
//|                                             mailto:7ibt@arcor.de |
//+------------------------------------------------------------------+
#property copyright "Bernd Kreuss"
#property link      "mailto:7ibt@arcor.de"

#import "c:\dokumente und einstellungen\bernd\lazarus\py26\py26.dll"
   void PyInitialize();
   bool PyIsInitialized();
   void PyFinalize();
   void PyDecRef(int p_object);
   
   void PyExecute(string python_code);
   int PyEvaluate(string python_code); // new reference, PyDecRef() after using!
   
   int PyMainDict();
   int PyLookupDict(int p_dict, string name);
   int PyLookupList(int p_list, int index);
   
   int PyGetInt(int ptr_int);
   double PyGetDouble(int p_double);
   string PyGetString(int p_string);
   
   int PyNewInt(int value);
   int PyNewDouble(double value);
   int PyNewString(string value);
   
   void PyListAppend(int p_list, int p_item);
   int PyListSize(int p_list);
#import

void PyInit(){
   if (!PyIsInitialized()){
      PyInitialize();
      PyExecute("import os; import sys;");
      PyExecute("os.chdir(\""+TerminalPath()+"/experts\")");
      PyExecute("sys.path.insert(0, os.getcwd())");
   }
}

void PyDeinit(){
   if (PyIsInitialized()){
      PyFinalize();
   }
}