Menu

V4.7.5.80 Released


Release Notes maXbox 4.7.5.80 July 2021 mX47


Add 18 Units + 8 Tutorials, 4.7.5 SP1

1403 unit uPSI_SemaphorGrids;
1404 unit uXmlDates2;
1405 unit uPSI_JclTimeZones;
1406 unit uPSI_XmlDocRssParser.pas
1407 unit uPSI_RssParser.pas
1408 uPSI_SimpleParserRSS.pas
1409 unit uPSI_SimpleRSSUtils;
1410 unit uPSIRssModel; BlueHippo
1411 unit uPSIStrUtil; FIBPlus
1412 unit uPSITAChartUtils; TEE
1413 unit uPSIPythonEngine.pas P4DBeta
1414 unit uPSIVclPythonGUIInputOutput;
1415 unit uPSIVarPyth;
1416 unit JclUsesUtils;
1417 unit uPSIcParameters;
1418 unit uPSIWDCCMisc; (uPSIcFileTemplates);
1419 uPSIWDCCOleVariantEnum.pas
1420 unit uPSIWDCCWinInet.pas WDCC
1421 uPSI_PythonVersions.pas
1422 unit uPSI_PythonAction.pas

SIRegister_TFastStringStream(CL);
procedure LoadJPEGResource(image1: TImage; aJpgImage: string);
function CreateDOSProcessRedirected3(const CommandLine, InputFile, OutputFile,
ErrMsg: string): Boolean;
function SysCharSetToStr(const C: TSysCharSet): AnsiString;
function StrToSysCharSet(const S: AnsiString): TSysCharSet;
Procedure MaskFPUExceptions( ExceptionsMasked : boolean; MatchPythonPrecision: Boolean);
Function GetOleVariantEnum( Collection : OLEVariant) : IGetOleVariantEnum);
Function GetOleVariantArrEnum( Collection : OLEVariant) : IGetOleVariantEnum);
Function GetRegisteredPythonVersions : TPythonVersions');

Total of Function Calls: 33848
SHA1: of 4.7.5.80 3E38A48072D4F828A4BE4A52320F092FE50AE9C3
CRC32: B6F69E19 29.8 MB (31,344,456 bytes)

Posted by Max Kleiner 2021-07-21 Labels: 47580 P4DBeta RSS SP1 OleEnum EnumStr PythonVersions
  • Max Kleiner

    Max Kleiner - 2021-07-24

    Issue 96 published:
    Blaise_96_UK

     
  • Max Kleiner

    Max Kleiner - 2021-07-27

    Script with Python in maXbox:
    Procedure PYLaz_P4D_Demo;
    //https://wiki.freepascal.org/Python4Delphi
    var eng : TPythonEngine;
    Out1: TPythonGUIInputOutput;
    begin
    eng:= TPythonEngine.Create(Nil);
    Out1:= TPythonGUIInputOutput.create(nil)
    Out1.output:= pyMemo; //debugout.output; //memo2;
    Out1.RawOutput:= False;
    Out1.UnicodeIO:= False;
    out1.displaystring('this string')
    //eng.IO:= Out1;
    //eng.free;
    eng.LoadDll;
    eng.IO:= Out1;
    if eng.IsHandleValid then begin
    writeln('DLLhandle: '+botostr(eng.IsHandleValid))
    WriteLn('evens: '+ eng.EvalStringAsStr('[x**2 for x in range(15)]'));
    WriteLn('gauss: '+ eng.EvalStringAsStr('sum([x for x in range(101)])'));
    WriteLn('gauss2: '+ eng.EvalStr('sum([x % 2 for x in range(10100)])'));
    writeln('syncheck '+
    botostr(eng.CheckEvalSyntax('print("powers:",[x**2 for x in range(10)])')));
    eng.ExecString('print("powers:",[x**2 for x in range(10)])');
    eng.ExecString(PYCMD);
    writeln('ExecSynCheck1 '+botostr(eng.CheckExecSyntax(myloadscript)));
    writeln('ExecSynCheck2 '+
    botostr(eng.CheckExecSyntax(filetostring(PYSCRIPT))));
    eng.ExecString(filetostring(PYSCRIPT));
    writeln(eng.Run_CommandAsString('print("powers:",[x**2 for x in range(10)])',eval_input));
    writeln(eng.Run_CommandAsString('sum([x for x in range(201)])',eval_input));
    end else writeln('invalid library handle! '+Getlasterrortext);
    writeln('PythonOK '+botostr(PythonOK));
    out1.free;
    eng.free;
    end;

     
  • Max Kleiner

    Max Kleiner - 2021-09-03

    BPM 97

     
  • Max Kleiner

    Max Kleiner - 2021-09-27

    Issue 98 Cover:
    Blaise 98 Cover

     
  • Max Kleiner

    Max Kleiner - 2021-09-27

    The minimal configuration depends on your Python-installation and the UseLastKnownVersion property in TDynamicDll but once known it goes like this with raiseError to get the Python exceptions:

    with TPythonEngine.Create(Nil) do begin
    pythonhome:= PYHOME;
    try
    loadDLL;
    Println('Decimal: '+
    EvalStr('import("decimal").Decimal(0.1)'));
    except
    raiseError;
    finally
    free;
    end;
    end;

     

Log in to post a comment.