mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-04-23 03:00:17 -04:00
60 lines
1.5 KiB
ObjectPascal
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.
|