Files
CoolProp/wrappers/Delphi/cpIntf.pas
2015-12-13 08:26:28 +02:00

60 lines
1.5 KiB
ObjectPascal

{
Delphi Interface for CoolProp
Bruce Wernick, 13 December 2015
Notes:
All of the char parameters are PAnsiChar, the floating point numbers are
Double and the integer types are either LongInt or Integer depending on the
type in the dll. Where there is an output string, the calling program must
create the space for the result. Be aware here that insufficient space will
result in a empty string. So for example, you should ensure sufficient space
for the refrigerant list.
}
unit cpIntf;
interface
const
cpdll = 'CoolProp.dll';
function get_global_param_string(
param: PAnsiChar;
res: PAnsiChar;
n: Integer): LongInt; stdcall;
external cpdll name '_get_global_param_string@12';
function get_fluid_param_string(
fluid: PAnsiChar;
param: PAnsiChar;
res: PAnsiChar;
n: Integer): Longint; stdcall;
external cpdll name '_get_fluid_param_string@12';
function PropsSI(
spec: PAnsiChar;
prop1: PAnsiChar; val1: Double;
prop2: PAnsiChar; val2: Double;
fluid: PAnsiChar): Double; stdcall;
external cpdll name '_PropsSI@32';
function Props1SI(
fluid: PAnsiChar;
res: PAnsiChar): Double; stdcall;
external cpdll name '_Props1SI@8';
function HAPropsSI(
spec: PAnsiChar;
prop1: PAnsiChar; val1: Double;
prop2: PAnsiChar; val2: Double;
prop3: PAnsiChar; val3: Double): Double; stdcall;
external cpdll name '_HAPropsSI@40';
implementation
initialization
{Disable floating point exception
This is a problem with the Delphi compiler only}
Set8087CW($133f);
end.