[5.10] Native types can't be used with pointers

Just starting out? Need help? Post your questions and find answers here.
rsts
Addict
Addict
Posts: 2736
Joined: Wed Aug 24, 2005 8:39 am
Location: Southwest OH - USA

Re: [5.10] Native types can't be used with pointers

Post by rsts »

skywalk wrote:Yes, can someone please explain what the heck this means :?:
For ten years Caesar ruled with an iron hand. Then with a wooden foot, and finally with a piece of string.
http://en.wikipedia.org/wiki/The_Histor ... _the_Elder
PMV
Enthusiast
Enthusiast
Posts: 727
Joined: Sat Feb 24, 2007 3:15 pm
Location: Germany

Re: [5.10] Native types can't be used with pointers

Post by PMV »

luis wrote:

Code: Select all

*x.Integer

(*x + 2)\i  = 10  ;  we don't have this (add 2 to the pointer and store 10 at the resulting address)


It would be nice. You can do it in other ways (the quickest making a copy of the pointer an alter that one) but it's something I miss.

There are other things but those would require a lot more work to be implemented, probably not worth it.
The longer i think about that ... i would really love it, too! :shock:
Maybe the syntax doesn't fit PB, but thats up to Fred ...
If the feature-request is made fast enough, maybe it comes
in PB 5.10 :lol:

MFG PMV
User avatar
luis
Addict
Addict
Posts: 3893
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy

Re: [5.10] Native types can't be used with pointers

Post by luis »

PMV wrote: If the feature-request is made fast enough, maybe it comes in PB 5.10 :lol:
now we had some changes in between, but it was more or less made here -> http://www.purebasic.fr/english/viewtop ... =3&t=48234 :wink:
"Have you tried turning it off and on again ?"
A little PureBasic review
PMV
Enthusiast
Enthusiast
Posts: 727
Joined: Sat Feb 24, 2007 3:15 pm
Location: Germany

Re: [5.10] Native types can't be used with pointers

Post by PMV »

Oh, thanks ... i already replied to that, so i can't say i haven't
seen it. :x ... ok, not 5.10 ... what a pity :lol:
BorisTheOld
Enthusiast
Enthusiast
Posts: 542
Joined: Tue Apr 24, 2012 5:08 pm
Location: Ontario, Canada

Re: [5.10] Native types can't be used with pointers

Post by BorisTheOld »

fsw wrote:
BorisTheOld wrote:For ten years Caesar ruled with an iron hand, then with a wooden foot, and finally with a piece of string
Maybe I just don't understand it...
Probably.
For ten years Caesar ruled with an iron hand, then with a wooden foot, and finally with a piece of string.
~ Spike Milligan
r7mk4
User
User
Posts: 13
Joined: Tue Aug 02, 2005 2:23 pm

Re: [5.10] Native types can't be used with pointers

Post by r7mk4 »

Sorry for reopening this thread, but I have two files using with XIncludeFile:

XIncludeFile "escapi.pbi"

Code: Select all

;/* Extremely Simple Capture API */

Structure SimpleCapParams
  ;*mTargetBuf.l ; Must be at least mWidth * mHeight * SizeOf(int) of size!
  *mTargetBuf.l ; Must be at least mWidth * mHeight * SizeOf(int) of size!
  mWidth.l
  mHeight.l
EndStructure

;/* Return the number of capture devices found */
PrototypeC countCaptureDevicesProc()

; /* initCapture tries To open the video capture device.
;  * Returns 0 on failure, 1 on success.
;  * Note: Capture parameter values must Not change While capture device
;  *       is in use (i.e. between initCapture And deinitCapture).
;  *       Do *Not* free the target buffer, Or change its pointer!
;  */
PrototypeC initCaptureProc(deviceno, *aParams.SimpleCapParams)

;/* deinitCapture closes the video capture device. */
PrototypeC deinitCaptureProc(deviceno)

;/* doCapture requests video frame To be captured. */
PrototypeC doCaptureProc(deviceno)

;/* isCaptureDone returns 1 when the requested frame has been captured.*/
PrototypeC isCaptureDoneProc(deviceno)

;/* Get the user-friendly name of a capture device. */
PrototypeC getCaptureDeviceNameProc(deviceno, *namebuffer, bufferlength)

;/* Returns the ESCAPI DLL version. 0x200 For 2.0 */
PrototypeC ESCAPIDLLVersionProc()

; marked as "internal" in the example
PrototypeC initCOMProc()

Global countCaptureDevices.countCaptureDevicesProc
Global initCapture.initCaptureProc
Global deinitCapture.deinitCaptureProc
Global doCapture.doCaptureProc
Global isCaptureDone.isCaptureDoneProc
Global getCaptureDeviceName.getCaptureDeviceNameProc
Global ESCAPIDLLVersion.ESCAPIDLLVersionProc

Procedure setupESCAPI()
  
  ; load library
  capdll = OpenLibrary(#PB_Any, "escapi.dll")
  If capdll = 0
    ProcedureReturn 0
  EndIf
  
  ;/* Fetch function entry points */
  countCaptureDevices = GetFunction(capdll, "countCaptureDevices")
  
  initCapture = GetFunction(capdll, "initCapture")
  deinitCapture = GetFunction(capdll, "deinitCapture")
  doCapture = GetFunction(capdll, "doCapture")
  isCaptureDone = GetFunction(capdll, "isCaptureDone")
  initCOM.initCOMProc = GetFunction(capdll, "initCOM")
  getCaptureDeviceName = GetFunction(capdll, "getCaptureDeviceName")
  ESCAPIDLLVersion = GetFunction(capdll, "ESCAPIDLLVersion")
  
  If countCaptureDevices = 0 Or initCapture = 0 Or deinitCapture = 0 Or doCapture = 0 Or isCaptureDone = 0 Or initCOM = 0 Or getCaptureDeviceName = 0 Or ESCAPIDLLVersion = 0
    ProcedureReturn 0
  EndIf
  
  ;/* Verify DLL version */
  If ESCAPIDLLVersion() < $200
    ProcedureReturn 0
  EndIf
  
  ;/* Initialize COM.. */
  initCOM();
  
  ; returns number of devices found
  ProcedureReturn countCaptureDevices()
EndProcedure
And I get the error here:

Code: Select all

  *mTargetBuf.l ; Must be at least mWidth * mHeight * SizeOf(int) of size!
and
here: rmchart.pbi

Code: Select all

;- 
;- RMCHART API
;- Version 3.10, December 2005
;- 
;- http://www.rmchart.com/
;- 
;- Wrapper by flype - flype44@gmail.com
;- 

EnableExplicit

;- 
;- CONSTANTS
;- 

#RMC_NO_ERROR = 0
#RMC_NO_DATA  = -9999999999

Enumeration 0    ; Colors
  #ColorAliceBlue            = $FFF0F8FF
  #ColorAntiqueWhite         = $FFFAEBD7
  #ColorAquamarine           = $FF7FFFD4
  #ColorArmyGreen            = $FF669966
  #ColorAutumnOrange         = $FFFF6633
  #ColorAvocadoGreen         = $FF669933
  #ColorAzure                = $FFF0FFFF
  #ColorBabyBlue             = $FF6699FF
  #ColorBananaYellow         = $FFCCCC33
  #ColorBeige                = $FFF5F5DC
  #ColorBisque               = $FFFFE4C4
  #ColorBlack                = $FF000000
  #ColorBlanchedAlmond       = $FFFFEBCD
  #ColorBlue                 = $FF0000FF
  #ColorBlueViolet           = $FF8A2BE2
  #ColorBrown                = $FFA52A2A
  #ColorBurlyWood            = $FFDEB887
  #ColorCadetBlue            = $FF5F9EA0
  #ColorChalk                = $FFFFFF99
  #ColorChartreuse           = $FF7FFF00
  #ColorChocolate            = $FFD2691E
  #ColorCoral                = $FFFF7F50
  #ColorCornflowerBlue       = $FF6495ED
  #ColorCornsilk             = $FFFFF8DC
  #ColorCrimson              = $FFDC143C
  #ColorCyan                 = $FF00FFFF
  #ColorDarkBlue             = $FF00008B
  #ColorDarkBrown            = $FF663333
  #ColorDarkCrimson          = $FF993366
  #ColorDarkCyan             = $FF008B8B
  #ColorDarkGold             = $FFCC9933
  #ColorDarkGoldenrod        = $FFB8860B
  #ColorDarkGray             = $FFA9A9A9
  #ColorDarkGreen            = $FF006400
  #ColorDarkKhaki            = $FFBDB76B
  #ColorDarkMagenta          = $FF8B008B
  #ColorDarkOliveGreen       = $FF556B2F
  #ColorDarkOrange           = $FFFF8C00
  #ColorDarkOrchid           = $FF9932CC
  #ColorDarkRed              = $FF8B0000
  #ColorDarkSalmon           = $FFE9967A
  #ColorDarkSeaGreen         = $FF8FBC8B
  #ColorDarkSlateBlue        = $FF483D8B
  #ColorDarkSlateGray        = $FF2F4F4F
  #ColorDarkTurquoise        = $FF00CED1
  #ColorDarkViolet           = $FF9400D3
  #ColorDeepAzure            = $FF6633FF
  #ColorDeepPink             = $FFFF1493
  #ColorDeepPurple           = $FF330066
  #ColorDeepRiver            = $FF6600CC
  #ColorDeepRose             = $FFCC3399
  #ColorDeepSkyBlue          = $FF00BFFF
  #ColorDefault              = $00000000
  #ColorDeepYellow           = $FFFFCC00
  #ColorDesertBlue           = $FF336699
  #ColorDimGray              = $FF696969
  #ColorDodgerBlue           = $FF1E90FF
  #ColorDullGreen            = $FF99CC66
  #ColorEasterPurple         = $FFCC99FF
  #ColorFadeGreen            = $FF99CC99
  #ColorFirebrick            = $FFB22222
  #ColorFloralWhite          = $FFFFFAF0
  #ColorForestGreen          = $FF228B22
  #ColorGainsboro            = $FFDCDCDC
  #ColorGhostGreen           = $FFCCFFCC
  #ColorGhostWhite           = $FFF8F8FF
  #ColorGold                 = $FFFFD700
  #ColorGoldenrod            = $FFDAA520
  #ColorGrape                = $FF663399
  #ColorGrassGreen           = $FF009933
  #ColorGray                 = $FF808080
  #ColorGreen                = $FF008000
  #ColorGreenYellow          = $FFADFF2F
  #ColorHoneydew             = $FFF0FFF0
  #ColorHotPink              = $FFFF69B4
  #ColorIndianRed            = $FFCD5C5C
  #ColorIndigo               = $FF4B0082
  #ColorIvory                = $FFFFFFF0
  #ColorKentuckyGreen        = $FF339966
  #ColorKhaki                = $FFF0E68C
  #ColorLavender             = $FFE6E6FA
  #ColorLavenderBlush        = $FFFFF0F5
  #ColorLawnGreen            = $FF7CFC00
  #ColorLemonChiffon         = $FFFFFACD
  #ColorLightBlue            = $FFADD8E6
  #ColorLightCoral           = $FFF08080
  #ColorLightCyan            = $FFE0FFFF
  #ColorLightGoldenrod       = $FFEEDD82
  #ColorLightGoldenrodYellow = $FFFAFAD2
  #ColorLightGray            = $FFD3D3D3
  #ColorLightGreen           = $FF90EE90
  #ColorLightOrange          = $FFFF9933
  #ColorLightPink            = $FFFFB6C1
  #ColorLightSalmon          = $FFFFA07A
  #ColorLightSeaGreen        = $FF20B2AA
  #ColorLightSkyBlue         = $FF87CEFA
  #ColorLightSlateGray       = $FF778899
  #ColorLightSteelBlue       = $FFB0C4DE
  #ColorLightViolet          = $FFFF99FF
  #ColorLightYellow          = $FFFFFFE0
  #ColorLime                 = $FF00FF00
  #ColorLimeGreen            = $FF32CD32
  #ColorLinen                = $FFFAF0E6
  #ColorMagenta              = $FFFF00FF
  #ColorMaroon               = $FF800000
  #ColorMartianGreen         = $FF99CC33
  #ColorMediumAquamarine     = $FF66CDAA
  #ColorMediumBlue           = $FF0000CD
  #ColorMediumOrchid         = $FFBA55D3
  #ColorMediumPurple         = $FF9370DB
  #ColorMediumSeaGreen       = $FF3CB371
  #ColorMediumSlateBlue      = $FF7B68EE
  #ColorMediumSpringGreen    = $FF00FA9A
  #ColorMediumTurquoise      = $FF48D1CC
  #ColorMediumVioletRed      = $FFC71585
  #ColorMidnightBlue         = $FF191970
  #ColorMintCream            = $FFF5FFFA
  #ColorMistyRose            = $FFFFE4E1
  #ColorMoccasin             = $FFFFE4B5
  #ColorMoonGreen            = $FFCCFF66
  #ColorMossGreen            = $FF336666
  #ColorNavajoWhite          = $FFFFDEAD
  #ColorNavy                 = $FF000080
  #ColorOceanGreen           = $FF669999
  #ColorOldLace              = $FFFDF5E6
  #ColorOlive                = $FF808000
  #ColorOliveDrab            = $FF6B8E23
  #ColorOrange               = $FFFFA500
  #ColorOrangeRed            = $FFFF4500
  #ColorOrchid               = $FFDA70D6
  #ColorPaleGoldenrod        = $FFEEE8AA
  #ColorPaleGreen            = $FF98FB98
  #ColorPaleTurquoise        = $FFAFEEEE
  #ColorPaleVioletRed        = $FFDB7093
  #ColorPaleYellow           = $FFFFFFCC
  #ColorPapayaWhip           = $FFFFEFD5
  #ColorPeachPuff            = $FFFFDAB9
  #ColorPeru                 = $FFCD853F
  #ColorPink                 = $FFFFC0CB
  #ColorPlum                 = $FFDDA0DD
  #ColorPowderBlue           = $FFB0E0E6
  #ColorPurple               = $FF800080
  #ColorRed                  = $FFFF0000
  #ColorRosyBrown            = $FFBC8F8F
  #ColorRoyalBlue            = $FF4169E1
  #ColorSaddleBrown          = $FF8B4513
  #ColorSalmon               = $FFFA8072
  #ColorSand                 = $FFFFCC99
  #ColorSandyBrown           = $FFF4A460
  #ColorSeaGreen             = $FF2E8B57
  #ColorSeaShell             = $FFFFF5EE
  #ColorSienna               = $FFA0522D
  #ColorSilver               = $FFC0C0C0
  #ColorSkyBlue              = $FF87CEEB
  #ColorSlateBlue            = $FF6A5ACD
  #ColorSlateGray            = $FF708090
  #ColorSnow                 = $FFFFFAFA
  #ColorSpringGreen          = $FF00FF7F
  #ColorSteelBlue            = $FF4682B4
  #ColorTan                  = $FFD2B48C
  #ColorTeal                 = $FF008080
  #ColorThistle              = $FFD8BFD8
  #ColorTomato               = $FFFF6347
  #ColorTransparent          = $FFFFFFFE
  #ColorTropicalPink         = $FFFF6666
  #ColorTurquoise            = $FF40E0D0
  #ColorViolet               = $FFEE82EE
  #ColorVioletRed            = $FFD02090
  #ColorWalnut               = $FF663300
  #ColorWheat                = $FFF5DEB3
  #ColorWhite                = $FFFFFFFF
  #ColorWhiteSmoke           = $FFF5F5F5
  #ColorYellow               = $FFFFFF00
  #ColorYellowGreen          = $FF9ACD32
EndEnumeration
Enumeration 0    ; CtrlStyle
  #RMC_CTRLSTYLEFLAT 
  #RMC_CTRLSTYLEFLATSHADOW 
  #RMC_CTRLSTYLE3D 
  #RMC_CTRLSTYLE3DLIGHT 
  #RMC_CTRLSTYLEIMAGE 
  #RMC_CTRLSTYLEIMAGETILED 
EndEnumeration
Enumeration 1    ; SeriesType
  #RMC_BARSERIES 
  #RMC_LINESERIES 
  #RMC_GRIDLESSSERIES 
  #RMC_VOLUMEBARSERIES 
  #RMC_HIGHLOWSERIES 
  #RMC_XYSERIES 
EndEnumeration  
Enumeration 1    ; BarSeriesType
  #RMC_BARSINGLE 
  #RMC_BARGROUP 
  #RMC_BARSTACKED 
  #RMC_BARSTACKED100 
  #RMC_FLOATINGBAR 
  #RMC_FLOATINGBARGROUP 
EndEnumeration
Enumeration 21   ; LineSeriesType
  #RMC_LINE 
  #RMC_AREA 
  #RMC_LINE_INDEXED 
  #RMC_AREA_INDEXED 
  #RMC_AREA_STACKED 
  #RMC_AREA_STACKED100 
EndEnumeration
Enumeration 1    ; BarSeriesStyle
  #RMC_BAR_FLAT 
  #RMC_BAR_FLAT_GRADIENT1 
  #RMC_BAR_FLAT_GRADIENT2 
  #RMC_BAR_HOVER 
  #RMC_COLUMN_FLAT 
  #RMC_BAR_3D 
  #RMC_BAR_3D_GRADIENT 
  #RMC_COLUMN_3D 
  #RMC_COLUMN_3D_GRADIENT 
  #RMC_COLUMN_FLUTED 
EndEnumeration
Enumeration 10   ; CTypes
  #RMC_GRIDBASED = 10
  #RMC_VOLUMEBAR = 31
  #RMC_HIGHLOW   = 41
  #RMC_GRIDLESS  = 51
  #RMC_XYCHART   = 70
EndEnumeration
Enumeration 16   ; LineSeriesStyle
  #RMC_LINE_FLAT_DASHDOTDOT 
  #RMC_LINE_FLAT_DASHDOT 
  #RMC_LINE_FLAT_DASH 
  #RMC_LINE_FLAT_DOT 
  #RMC_LINE_FLAT = 21
  #RMC_LINE_CABLE 
  #RMC_LINE_3D 
  #RMC_LINE_3D_GRADIENT 
  #RMC_AREA_FLAT 
  #RMC_AREA_FLAT_GRADIENT_V 
  #RMC_AREA_FLAT_GRADIENT_H 
  #RMC_AREA_FLAT_GRADIENT_C 
  #RMC_AREA_3D 
  #RMC_AREA_3D_GRADIENT_V 
  #RMC_AREA_3D_GRADIENT_H 
  #RMC_AREA_3D_GRADIENT_C 
  #RMC_LINE_FLAT_SHADOW 
  #RMC_LINE_CABLE_SHADOW 
  #RMC_LINE_SYMBOLONLY 
EndEnumeration
Enumeration 1    ; LineSeriesLineStyle
  #RMC_LSTYLE_LINE 
  #RMC_LSTYLE_SPLINE 
  #RMC_LSTYLE_STAIR 
  #RMC_LSTYLE_LINE_AREA 
  #RMC_LSTYLE_SPLINE_AREA 
  #RMC_LSTYLE_STAIR_AREA 
EndEnumeration
Enumeration 0    ; LineSeriesSymbol
  #RMC_SYMBOL_NONE 
  #RMC_SYMBOL_ROUND 
  #RMC_SYMBOL_DIAMOND 
  #RMC_SYMBOL_SQUARE 
  #RMC_SYMBOL_STAR 
  #RMC_SYMBOL_ARROW_DOWN 
  #RMC_SYMBOL_ARROW_UP 
  #RMC_SYMBOL_POINT 
  #RMC_SYMBOL_CIRCLE 
  #RMC_SYMBOL_RECTANGLE 
  #RMC_SYMBOL_CROSS 
  #RMC_SYMBOL_ROUND_SMALL 
  #RMC_SYMBOL_DIAMOND_SMALL 
  #RMC_SYMBOL_SQUARE_SMALL 
  #RMC_SYMBOL_STAR_SMALL 
  #RMC_SYMBOL_ARROW_DOWN_SMALL 
  #RMC_SYMBOL_ARROW_UP_SMALL 
  #RMC_SYMBOL_POINT_SMALL 
  #RMC_SYMBOL_CIRCLE_SMALL 
  #RMC_SYMBOL_RECTANGLE_SMALL 
  #RMC_SYMBOL_CROSS_SMALL 
  #RMC_SYMBOL_BULLET 
  #RMC_SYMBOL_BULLET_SMALL 
EndEnumeration
Enumeration 1    ; HighLowSeriesStyle
  #RMC_OHLC 
  #RMC_CANDLESTICK 
EndEnumeration
Enumeration 51   ; GridlessSeriesStyle
  #RMC_PIE_FLAT 
  #RMC_PIE_GRADIENT 
  #RMC_PIE_3D 
  #RMC_PIE_3D_GRADIENT 
  #RMC_DONUT_FLAT 
  #RMC_DONUT_GRADIENT 
  #RMC_DONUT_3D 
  #RMC_DONUT_3D_GRADIENT 
  #RMC_PYRAMIDE 
  #RMC_PYRAMIDE3 
EndEnumeration
Enumeration 1    ; PieDonutAlignment
  #RMC_FULL 
  #RMC_HALF_TOP 
  #RMC_HALF_RIGHT 
  #RMC_HALF_BOTTOM 
  #RMC_HALF_LEFT 
EndEnumeration
Enumeration 66   ; XYSeriesStyle
  #RMC_XY_LINE_DASHDOTDOT = 66
  #RMC_XY_LINE_DASHDOT    = 67
  #RMC_XY_LINE_DASH       = 68
  #RMC_XY_LINE_DOT        = 69
  #RMC_XY_LINE            = 70
  #RMC_XY_LINESYMBOL      = #RMC_XY_LINE
  #RMC_XY_SYMBOL          = 71
  #RMC_XY_CABLE           = 73
  #RMC_XY_CABLESYMBOL     = #RMC_XY_CABLE
EndEnumeration
Enumeration 0    ; Hatchmodes
  #RMC_HATCHBRUSH_OFF 
  #RMC_HATCHBRUSH_ON 
  #RMC_HATCHBRUSH_ONPRINTING 
EndEnumeration
Enumeration 1    ; DAxisAlignment
  #RMC_DATAAXISLEFT 
  #RMC_DATAAXISRIGHT 
  #RMC_DATAAXISTOP 
  #RMC_DATAAXISBOTTOM 
EndEnumeration
Enumeration 5    ; LAxisAlignment
  #RMC_LABELAXISLEFT 
  #RMC_LABELAXISRIGHT 
  #RMC_LABELAXISTOP 
  #RMC_LABELAXISBOTTOM 
EndEnumeration
Enumeration 11   ; XAxisAlignment
  #RMC_XAXISTOP 
  #RMC_XAXISBOTTOM 
EndEnumeration
Enumeration 9    ; YAxisAlignment
  #RMC_YAXISLEFT 
  #RMC_YAXISRIGHT 
EndEnumeration
Enumeration 1    ; AxisType
  #RMC_DATAAXIS 
  #RMC_LABELAXIS 
EndEnumeration
Enumeration 0    ; AxisLineStyle
  #RMC_LINESTYLESOLID   = 0
  #RMC_LINESTYLEDASH    = 1
  #RMC_LINESTYLEDOT     = 2
  #RMC_LINESTYLEDASHDOT = 3
  #RMC_LINESTYLENONE    = 6
EndEnumeration
Enumeration 0    ; LabelTextAlignment
  #RMC_TEXTCENTER 
  #RMC_TEXTLEFT 
  #RMC_TEXTRIGHT 
  #RMC_TEXTDOWNWARD 
  #RMC_TEXTUPWARD 
EndEnumeration
Enumeration -1   ; LegendAlignment
  #RMC_LEGEND_NONE 
  #RMC_LEGEND_TOP = 1
  #RMC_LEGEND_LEFT 
  #RMC_LEGEND_RIGHT 
  #RMC_LEGEND_BOTTOM 
  #RMC_LEGEND_UL 
  #RMC_LEGEND_UR 
  #RMC_LEGEND_LL 
  #RMC_LEGEND_LR 
  #RMC_LEGEND_ONVLABELS 
  #RMC_LEGEND_CUSTOM_TOP = 11
  #RMC_LEGEND_CUSTOM_LEFT 
  #RMC_LEGEND_CUSTOM_RIGHT 
  #RMC_LEGEND_CUSTOM_BOTTOM 
  #RMC_LEGEND_CUSTOM_UL 
  #RMC_LEGEND_CUSTOM_UR 
  #RMC_LEGEND_CUSTOM_LL 
  #RMC_LEGEND_CUSTOM_LR 
  #RMC_LEGEND_CUSTOM_CENTER 
  #RMC_LEGEND_CUSTOM_CR 
  #RMC_LEGEND_CUSTOM_CL 
EndEnumeration
Enumeration 1    ; LegendStyle
  #RMC_LEGENDNORECT 
  #RMC_LEGENDRECT 
  #RMC_LEGENDRECTSHADOW 
  #RMC_LEGENDROUNDRECT 
  #RMC_LEGENDROUNDRECTSHADOW 
EndEnumeration
Enumeration 0    ; ValueLabels
  #RMC_VLABEL_NONE            = 0
  #RMC_VLABEL_DEFAULT         = 1
  #RMC_VLABEL_PERCENT         = 5
  #RMC_VLABEL_ABSOLUTE        = 6
  #RMC_VLABEL_TWIN            = 7
  #RMC_VLABEL_LEGENDONLY      = 8
  #RMC_VLABEL_DEFAULT_NOZERO  = 11
  #RMC_VLABEL_PERCENT_NOZERO  = 15
  #RMC_VLABEL_ABSOLUTE_NOZERO = 16
  #RMC_VLABEL_TWIN_NOZERO     = 17
EndEnumeration
Enumeration 0    ; BicolorMode
  #RMC_BICOLOR_NONE 
  #RMC_BICOLOR_DATAAXIS 
  #RMC_BICOLOR_LABELAXIS 
  #RMC_BICOLOR_BOTH 
EndEnumeration
Enumeration -1   ; RMCError
  #RMC_ERROR_MAXINST       = -1
  #RMC_ERROR_MAXREGION     = -2
  #RMC_ERROR_MAXSERIES     = -3
  #RMC_ERROR_ALLOC         = -4
  #RMC_ERROR_NODATA        = -5
  #RMC_ERROR_CTRLID        = -6
  #RMC_ERROR_SERIESINDEX   = -7
  #RMC_ERROR_CREATEBITMAP  = -8
  #RMC_ERROR_WRONGREGION   = -9
  #RMC_ERROR_PARENTHANDLE  = -10
  #RMC_ERROR_CREATEWINDOW  = -11
  #RMC_ERROR_INIGDIP       = -12
  #RMC_ERROR_PRINT         = -13
  #RMC_ERROR_NOGDIP        = -14
  #RMC_ERROR_RMCFILE       = -15
  #RMC_ERROR_FILEFOUND     = -16
  #RMC_ERROR_READLINES     = -17
  #RMC_ERROR_XYAXIS        = -18
  #RMC_ERROR_LEGENDTEXT    = -19
  #RMC_ERROR_EMF           = -20
  #RMC_ERROR_NODATA_COUNT  = -21
  #RMC_ERROR_NODATA_ZERO   = -22
  #RMC_ERROR_NOCOLOR       = -23
  #RMC_ERROR_CLIPBOARD     = -24
  #RMC_ERROR_CBINFO        = -25
  #RMC_ERROR_FILECREATE    = -26
  #RMC_ERROR_MAXCUSTOM     = -27
  #RMC_ERROR_DATAINDEX     = -28
  #RMC_ERROR_AXISALIGNMENT = -29
  #RMC_ERROR_ARRAYDIM      = -90
  #RMC_ERROR_LEGENDSIZE    = 1
EndEnumeration
Enumeration $200 ; RMCEvent
  #RMC_MOUSEMOVE 
  #RMC_LBUTTONDOWN 
  #RMC_LBUTTONUP 
  #RMC_LBUTTONDBLCLK 
  #RMC_RBUTTONDOWN 
  #RMC_RBUTTONUP 
  #RMC_RBUTTONDBLCLK 
  #RMC_MBUTTONDOWN 
  #RMC_MBUTTONUP 
  #RMC_MBUTTONDBLCLK 
  #RMC_SHIFTLBUTTONDOWN 
  #RMC_SHIFTLBUTTONUP 
  #RMC_SHIFTLBUTTONDBLCLK 
  #RMC_SHIFTRBUTTONDOWN 
  #RMC_SHIFTRBUTTONUP 
  #RMC_SHIFTRBUTTONDBLCLK 
  #RMC_SHIFTMBUTTONDOWN 
  #RMC_SHIFTMBUTTONUP 
  #RMC_SHIFTMBUTTONDBLCLK 
  #RMC_CTRLLBUTTONDOWN 
  #RMC_CTRLLBUTTONUP 
  #RMC_CTRLLBUTTONDBLCLK 
  #RMC_CTRLRBUTTONDOWN 
  #RMC_CTRLRBUTTONUP 
  #RMC_CTRLRBUTTONDBLCLK 
  #RMC_CTRLMBUTTONDOWN 
  #RMC_CTRLMBUTTONUP 
  #RMC_CTRLMBUTTONDBLCLK 
EndEnumeration
Enumeration 1    ; RMCFileType
  #RMC_EMF 
  #RMC_EMFPLUS 
  #RMC_BMP 
EndEnumeration

;- 
;- USER-CONSTANTS
;- 

#RMC_USERWM       = ""              ; Your watermark
#RMC_USERWMCOLOR  = #ColorBlack     ; Color for the watermark
#RMC_USERWMLUCENT = 30              ; Lucent factor between 1(=not visible) and 255(=opaque)
#RMC_USERWMALIGN  = #RMC_TEXTCENTER ; Alignment for the watermark
#RMC_USERFONTSIZE = 0               ; Fontsize; if 0: maximal size is used

;- 
;- STRUCTURES
;- 

Structure tRMC_INFO
  nXPos.l
  nYPos.l
  nXMove.l
  nYMove.l
  nRegionIndex.l
  nRLeft.l
  nRTop.l
  nRRight.l
  nRBottom.l
  nSeriesIndex.l
  nDataIndex.l
  nChartType.l
  nSLeft.l
  nSTop.l
  nSRight.l
  nSBottom.l
  nSTop2.l
  nSBottom2.l
  nGLeft.l
  nGTop.l
  nGRight.l
  nGBottom.l
  nGCol.l
  nGRow.l
  nData1.d
  nData2.d
  nData3.d
  nData4.d
  nVirtData1.d
  nVirtData2.d
  nVirtData3.d
  nVirtData4.d
EndStructure
Structure tRMC_BARSERIES
  nType.l
  nStyle.l
  nIsLucent.l
  nColor.l
  nIsHorizontal.l
  nWhichDataAxis.l
  nValueLabelOn.l
  nPointsPerColumn.l
  nHatchMode.l
EndStructure
Structure tRMC_CAPTION
  nBackColor.l
  nTextColor.l
  nFontSize.l
  nIsBold.l
  sText.c[200]
EndStructure
Structure tRMC_CHART
  nTop.l
  nLeft.l
  nWidth.l
  nHeight.l
  nBackColor.l
  nCtrlStyle.l
  nExportOnly.l
  sBgImage.c[100]
  sFontName.c[50]
EndStructure
Structure tRMC_DATAAXIS
  nAlignment.l
  nMinValue.d
  nMaxValue.d
  nTickCount.l
  nFontSize.l
  nTextColor.l
  nLineColor.l
  nLineStyle.l
  nDecimalDigits.l
  sUnit.c[16]
  sText.c[100]
  sLabels.c[500]
EndStructure
Structure tRMC_GRID
  nGridBackColor.l
  nAsGradient.l
  nLeft.l
  nTop.l
  nWidth.l
  nHeight.l
EndStructure
Structure tRMC_GRIDLESSSERIES
  nStyle.l
  nPieAlignment.l
  nExplodemode.l
  nIsLucent.l
  nValueLabelOn.l
  nHatchMode.l
  nStartAngle.l
EndStructure
Structure tRMC_LABELAXIS
  nCount.l
  nTickCount.l
  nAlignment.l
  nFontSize.l
  nTextColor.l
  nTextAlignment.l
  nLineColor.l
  nLineStyle.l
  sText.c[100]
EndStructure
Structure tRMC_LEGEND
  nLegendAlign.l
  nLegendBackColor.l
  nLegendStyle.l
  nLegendTextColor.l
  nLegendFontSize.l
  nLegendIsBold.l
EndStructure
Structure tRMC_LINESERIES
  nType.l
  nStyle.l
  nLineStyle.l
  nIsLucent.l
  nColor.l
  nSeriesSymbol.l
  nWhichDataAxis.l
  nValueLabelOn.l
  nHatchMode.l
EndStructure
Structure tRMC_REGION
  nTop.l
  nLeft.l
  nWidth.l
  nHeight.l
  sFooter.c[200]
  nShowBorder.l
EndStructure
Structure tRMC_XYAXIS
  nAlignment.l
  nMinValue.d
  nMaxValue.d
  nTickCount.l
  nFontSize.l
  nTextColor.l
  nLineColor.l
  nLineStyle.l
  nDecimalDigits.l
  sUnit.c[16]
  sText.c[100]
  sLabels.c[500]
EndStructure
Structure tRMC_XYSERIES
  nColor.l
  nStyle.l
  nLineStyle.l
  nSeriesSymbol.l
  nWhichXAxis.l
  nWhichYAxis.l
  nValueLabelOn.l
EndStructure

Structure LPTRMC_INFO
  *TINFO.tRMC_INFO[0]
EndStructure
Structure LPtRMC_BARSERIES
  *TBARSERIES.tRMC_BARSERIES[0]
EndStructure
Structure LPtRMC_CAPTION
  *TCAPTION.tRMC_CAPTION[0]
EndStructure
Structure LPtRMC_CHART
  *TCHART.tRMC_CHART[0]
EndStructure
Structure LPtRMC_DATAAXIS
  *TDATAAXIS.tRMC_DATAAXIS[0]
EndStructure
Structure LPtRMC_GRID
  *TGRID.tRMC_GRID[0]
EndStructure
Structure LPtRMC_GRIDLESSSERIES
  *TGRIDLESSSERIES.tRMC_GRIDLESSSERIES[0]
EndStructure
Structure LPtRMC_LABELAXIS
  *TLABELAXIS.tRMC_LABELAXIS[0]
EndStructure
Structure LPtRMC_LEGEND
  *TLEGEND.tRMC_LEGEND[0]
EndStructure
Structure LPtRMC_LINESERIES
  *TLINESERIES.tRMC_LINESERIES[0]
EndStructure
Structure LPtRMC_REGION
  *TREGION.tRMC_REGION[0]
EndStructure
Structure LPtRMC_XYAXIS
  *TXYAXIS.tRMC_XYAXIS[0]
EndStructure
Structure LPtRMC_XYSERIES
  *TXYSERIES.tRMC_XYSERIES[0]
EndStructure

;- 
;- PROTOTYPES
;- 

;{ RMC_Add
Prototype.l RMC_AddBarSeries      (nCtrlId.l, nRegion.l, *nFirstDataValue.d, nDataValuesCount.l, nType.l, nStyle.l, nIsLucent.l, nColor.l, nIsHorizontal.l, nWhichDataAxis.l, nValueLabelOn.l, nPointsPerColumn.l, nHatchMode.l) 
Prototype.l RMC_AddBarSeriesI     (nCtrlId.l, nRegion.l, *nFirstDataValue.d, nDataValuesCount.l, *TBARSERIES.tRMC_BARSERIES) 
Prototype.l RMC_AddCaption        (nCtrlId.l, nRegion.l, sCaption.p-ascii, nBackColor.l, nTextColor.l, nFontSize.l, nFontbold.l) 
Prototype.l RMC_AddCaptionI       (nCtrlId.l, nRegion.l, *TCAPTION.tRMC_CAPTION) 
Prototype.l RMC_AddDataAxis       (nCtrlId.l, nRegion.l, nAlignment.l, nMinValue.d, nMaxValue.d, nTickCount.l, nFontSize.l, nTextColor.l, nLineColor.l, nLineStyle.l, nDecimalDigits.l, sUnit.p-ascii, sText.p-ascii, sLabels.p-ascii, nLabelAlignment.l) 
Prototype.l RMC_AddDataAxisI      (nCtrlId.l, nRegion.l, *TDATAAXIS.tRMC_DATAAXIS) 
Prototype.l RMC_AddGrid           (nCtrlId.l, nRegion.l, nBackColor.l, nAsGradient.l, nLeft.l, nTop.l, nWidth.l, nHeight.l, nBiColor.l) 
Prototype.l RMC_AddGridI          (nCtrlId.l, nRegion.l, *TGRID.tRMC_GRID) 
Prototype.l RMC_AddGridlessSeries (nCtrlId.l, nRegion.l, *nFirstDataValue.d, nDataValuesCount.l, *nFirstColorValue.l, nColorValuesCount.l, nStyle.l, nAlignment.l, nExplodemode.l, nIsLucent.l, nValueLabelOn.l, nHatchMode.l, nStartAngle.l) 
Prototype.l RMC_AddGridlessSeriesI(nCtrlId.l, nRegion.l, *nFirstDataValue.d, nDataValuesCount.l, *nFirstColorValue.l, nColorValuesCount.l, *TGRIDLESSSERIES.tRMC_GRIDLESSSERIES) 
Prototype.l RMC_AddHighLowSeries  (nCtrlId.l, nRegion.l, *nFirstDataValue.d, nDataValuesCount.l, *nFirstPPCValue.l, nPPCValuesCount.l, nStyle.l, nWhichDataAxis.l, nColorLow.l, nColorHigh.l) 
Prototype.l RMC_AddLabelAxis      (nCtrlId.l, nRegion.l, sLabels.p-ascii, nAxisCount.l, nTickCount.l, nAlignment.l, nFontSize.l, nTextColor.l, nTextAlignment.l, nLineColor.l, nLineStyle.l, sText.p-ascii) 
Prototype.l RMC_AddLabelAxisI     (nCtrlId.l, nRegion.l, sLabels.p-ascii, *TLABELAXIS.tRMC_LABELAXIS) 
Prototype.l RMC_AddLegend         (nCtrlId.l, nRegion.l, sLegendtext.p-ascii, nAlignment.l, nBackColor.l, nStyle.l, nTextColor.l, nFontSize.l, nFontbold.l) 
Prototype.l RMC_AddLegendI        (nCtrlId.l, nRegion.l, sLegendtext.p-ascii, *TLEGEND.tRMC_LEGEND) 
Prototype.l RMC_AddLineSeries     (nCtrlId.l, nRegion.l, *nFirstDataValue.d, nDataValuesCount.l, *nFirstPPCValue.l, nPPCValuesCount.l, nType.l, nStyle.l, nLineStyle.l, nIsLucent.l, nColor.l, nSymbol.l, nWhichDataAxis.l, nValueLabelOn.l, nHatchMode.l) 
Prototype.l RMC_AddLineSeriesI    (nCtrlId.l, nRegion.l, *nFirstDataValue.d, *nDataValuesCount.l, *nFirstPPCValue.l, nPPCValuesCount.l, *TLINESERIES.tRMC_LINESERIES) 
Prototype.l RMC_AddRegion         (nCtrlId.l, nLeft.l, nTop.l, nWidth.l, nHeight.l, sFooter.p-ascii, nShowBorder.l) 
Prototype.l RMC_AddRegionI        (nCtrlId.l, *TREGION.tRMC_REGION) 
Prototype.l RMC_AddVolumeBarSeries(nCtrlId.l, nRegion.l, *nFirstDataValue.d, nDataValuesCount.l, *nFirstPPCValue.l, nPPCValuesCount.l, nColor.l, nWhichDataAxis.l) 
Prototype.l RMC_AddXAxis          (nCtrlId.l, nRegion.l, nAlignment.l, nMinValue.d, nMaxValue.d, nTickCount.l, nFontSize.l, nTextColor.l, nLineColor.l, nLineStyle.l, nDecimalDigits.l, sUnit.p-ascii, sText.p-ascii, sLabels.p-ascii, nLabelAlignment.l) 
Prototype.l RMC_AddXAxisI         (nCtrlId.l, nRegion.l, *TXYAXIS.tRMC_XYAXIS) 
Prototype.l RMC_AddYAxis          (nCtrlId.l, nRegion.l, nAlignment.l, nMinValue.d, nMaxValue.d, nTickCount.l, nFontSize.l, nTextColor.l, nLineColor.l, nLineStyle.l, nDecimalDigits.l, sText.p-ascii, sLabels.p-ascii, nLabelAlignment.l) 
Prototype.l RMC_AddYAxisI         (nCtrlId.l, nRegion.l, *TXYAXIS.tRMC_XYAXIS) 
Prototype.l RMC_AddXYSeries       (nCtrlId.l, nRegion.l, *nFirstXDataValue.d, nDataXValuesCount.l, *nFirstYDataValue.d, nDataYValuesCount.l, nColor.l, nStyle.l, nLineStyle.l, nSymbol.l, nWhichXAxis.l, nWhichYAxis.l, nValueLabelOn.l) 
Prototype.l RMC_AddXYSeriesI      (nCtrlId.l, nRegion.l, *nFirstXDataValue.d, nDataXValuesCount.l, *nFirstYDataValue.d, nDataYValuesCount.l, *TXYSERIES.tRMC_XYSERIES) 
;}                   
;{ RMC_Create
Prototype.l RMC_CreateChart(nParentHndl.l, nCtrlId.l, nX.l, nY.l, nWidth.l, nHeight.l, nBackColor.l, nCtrlStyle.l, nExportOnly.l, sBgImage.p-ascii, sFontName.p-ascii)
Prototype.l RMC_CreateChartI(nParentHndl.l, nCtrlId.l, *TCHART.tRMC_CHART)
Prototype.l RMC_CreateChartFromFile(nParentHndl.l, nCtrlId.l, nX.l, nY.l, nExportOnly.l, sRMCFile.p-ascii)
Prototype.l RMC_CreateChartFromFileOnDC(nParentHndl.l, nCtrlId.l, nX.l, nY.l, sRMCFile.p-ascii)
Prototype.l RMC_CreateChartOnDC(nParentDC.l, nCtrlId.l, nX.l, nY.l, nWidth.l, nHeight.l, nBackColor.l, nCtrlStyle.l, sBgImage.p-ascii, sFontName.p-ascii)
Prototype.l RMC_CreateChartOnDCI(nParentHndl.l, nCtrlId.l, *TCHART.tRMC_CHART)
;}
;{ RMC_Draw
Prototype.l RMC_Draw(nCtrlId.l)
Prototype.l RMC_Draw2Clipboard(nCtrlId.l, nType.l)
Prototype.l RMC_Draw2File(nCtrlId.l, sFileName.p-ascii, nWidth.l, nHeight.l)
Prototype.l RMC_Draw2Printer(nCtrlId.l, nPrinterDC.l, nLeft.l, nTop.l, nWidth.l, nHeight.l, nType.l)
;}
;{ RMC_Misc
Prototype.l RMC_DeleteChart(nCtrlId.l)
Prototype.l RMC_Paint(nCtrlId.l)
Prototype.l RMC_Reset(nCtrlId.l)
Prototype.l RMC_SaveBMP(hBmp.l, sFileName.p-ascii)
Prototype.l RMC_WriteRMCFile(nCtrlId.l, sRMCFile.p-ascii)
;}       
;{ RMC_Get
Prototype.l RMC_GetChartsizeFromFile(sRMCFile.p-ascii, *nWidth.l, *nHeight.l)
Prototype.l RMC_GetCtrlLeft(nCtrlId.l)
Prototype.l RMC_GetCtrlTop(nCtrlId.l)
Prototype.l RMC_GetCtrlWidth(nCtrlId.l)
Prototype.l RMC_GetCtrlHeight(nCtrlId.l)
Prototype.l RMC_GetINFO(nCtrlId.l, *TINFO.tRMC_INFO, nRegionIndex.l, nSeriesIndex.l, nDataIndex.l)
Prototype.l RMC_GetINFOXY(nCtrlId.l, *TINFO.tRMC_INFO, nX.l, nY.l)
Prototype.d RMC_GetVersion()
;}       
;{ RMC_Set
Prototype.l RMC_SetCaptionBGColor(nCtrlId.l, nRegion.l, nColor.l) 
Prototype.l RMC_SetCaptionFontSize(nCtrlId.l, nRegion.l, nFontbold.l)
Prototype.l RMC_SetCaptionFontBold(nCtrlId.l, nRegion.l, nFontSize.l)
Prototype.l RMC_SetCaptionText(nCtrlId.l, nRegion.l, sText.p-ascii)
Prototype.l RMC_SetCaptionTextColor(nCtrlId.l, nRegion.l, nColor.l)
Prototype.l RMC_SetCtrlBGColor(nCtrlId.l, nColor.l)
Prototype.l RMC_SetCtrlBGImage(nCtrlId.l, sBgImage.p-ascii)
Prototype.l RMC_SetCtrlFont(nCtrlId.l, sFontName.p-ascii)
Prototype.l RMC_SetCtrlPos(nCtrlId.l, nLeft.l, nTop.l, nRelative.l)
Prototype.l RMC_SetCtrlSize(nCtrlId.l, nWidth.l, nHeight.l, nRelative.l)
Prototype.l RMC_SetCtrlStyle(nCtrlId.l, nStyle.l)
Prototype.l RMC_SetDAXAlignment(nCtrlId.l, nRegion.l, nAlignment.l)
Prototype.l RMC_SetDAXDecimalDigits(nCtrlId.l, nRegion.l, nDecimalDigits.l, nAxisIndex.l)
Prototype.l RMC_SetDAXFontSize(nCtrlId.l, nRegion.l, nFontSize.l)
Prototype.l RMC_SetDAXLineColor(nCtrlId.l, nRegion.l, nColor.l)
Prototype.l RMC_SetDAXLabelAlignment(nCtrlId.l, nRegion.l, nLabelAlignment.l, nAxisIndex.l)
Prototype.l RMC_SetDAXLabels(nCtrlId.l, nRegion.l, sLabels.p-ascii, nAxisIndex.l)
Prototype.l RMC_SetDAXLineStyle(nCtrlId.l, nRegion.l, nStyle.l)
Prototype.l RMC_SetDAXMaxValue(nCtrlId.l, nRegion.l, nMaxValue.d, nAxisIndex.l)
Prototype.l RMC_SetDAXMinValue(nCtrlId.l, nRegion.l, nMinValue.d, nAxisIndex.l)
Prototype.l RMC_SetDAXText(nCtrlId.l, nRegion.l, sText.p-ascii, nAxisIndex.l)
Prototype.l RMC_SetDAXTextColor(nCtrlId.l, nRegion.l, nColor.l)
Prototype.l RMC_SetDAXTickcount(nCtrlId.l, nRegion.l, nTickCount.l)
Prototype.l RMC_SetDAXUnit(nCtrlId.l, nRegion.l, sUnit.p-ascii, nAxisIndex.l)
Prototype.l RMC_SetGridBGColor(nCtrlId.l, nRegion.l, nColor.l)
Prototype.l RMC_SetGridGradient(nCtrlId.l, nRegion.l, nGradient.l)
Prototype.l RMC_SetGridMargin(nCtrlId.l, nRegion.l, nLeft.l, nTop.l, nWidth.l, nHeight.l)
Prototype.l RMC_SetLAXAlignment(nCtrlId.l, nRegion.l, nAlignment.l)
Prototype.l RMC_SetLAXCount(nCtrlId.l, nRegion.l, nLabelAxisCount.l)
Prototype.l RMC_SetLAXFontSize(nCtrlId.l, nRegion.l, nFontSize.l)
Prototype.l RMC_SetLAXLabelAlignment(nCtrlId.l, nRegion.l, nAlignment.l)
Prototype.l RMC_SetLAXLabels(nCtrlId.l, nRegion.l, sLabels.p-ascii)
Prototype.l RMC_SetLAXLineColor(nCtrlId.l, nRegion.l, nColor.l)
Prototype.l RMC_SetLAXLineStyle(nCtrlId.l, nRegion.l, nStyle.l)
Prototype.l RMC_SetLAXText(nCtrlId.l, nRegion.l, sText.p-ascii)
Prototype.l RMC_SetLAXTextColor(nCtrlId.l, nRegion.l, nColor.l)
Prototype.l RMC_SetLAXTickCount(nCtrlId.l, nRegion.l, nTickCount.l)
Prototype.l RMC_SetLegendAlignment(nCtrlId.l, nRegion.l, nAlignment.l)
Prototype.l RMC_SetLegendBGColor(nCtrlId.l, nRegion.l, nColor.l)
Prototype.l RMC_SetLegendFontBold(nCtrlId.l, nRegion.l, nFontbold.l)
Prototype.l RMC_SetLegendFontSize(nCtrlId.l, nRegion.l, nFontSize.l)
Prototype.l RMC_SetLegendStyle(nCtrlId.l, nRegion.l, nStyle.l)
Prototype.l RMC_SetLegendText(nCtrlId.l, nRegion.l, sText.p-ascii)
Prototype.l RMC_SetLegendTextColor(nCtrlId.l, nRegion.l, nColor.l)
Prototype.l RMC_SetRegionBorder(nCtrlId.l, nShowBorder.l)
Prototype.l RMC_SetRegionFooter(nCtrlId.l, nRegion.l, sFooter.p-ascii)
Prototype.l RMC_SetRegionMargin(nCtrlId.l, nRegion.l, nLeft.l, nTop.l, nWidth.l, nHeight.l)
Prototype.l RMC_SetRMCFile(nCtrlId.l, sRMCFile.p-ascii)
Prototype.l RMC_SetSeriesColor(nCtrlId.l, nRegion.l, nSeries.l, nColor.l, nIndex.l)
Prototype.l RMC_SetSeriesData(nCtrlId.l, nRegion.l, nSeries.l, *nFirstDataValue.d, nDataValuesCount.l, nYData.l)
Prototype.l RMC_SetSeriesDataAxis(nCtrlId.l, nRegion.l, nSeries.l, nWhichAxis.l)
Prototype.l RMC_SetSeriesDataFile(nCtrlId.l, nRegion.l, nSeries.l, sFileName.p-ascii, sLines.p-ascii, sFields.p-ascii, sFieldDelimiter.p-ascii, nYData.l)
Prototype.l RMC_SetSeriesExplodeMode(nCtrlId.l, nRegion.l, nSeries.l, nExplodemode.l)
Prototype.l RMC_SetSeriesHatchMode(nCtrlId.l, nRegion.l, nSeries.l, nHatchMode.l)
Prototype.l RMC_SetSeriesHide(nCtrlId.l, nRegion.l, nSeries.l, nHide.l)
Prototype.l RMC_SetSeriesLinestyle(nCtrlId.l, nRegion.l, nSeries.l, nLineStyle.l)
Prototype.l RMC_SetSeriesLucent(nCtrlId.l, nRegion.l, nSeries.l, nLucent.l)
Prototype.l RMC_SetSeriesSingleData(nCtrlId.l, nRegion.l, nSeries.l, nDataValue.d, nDataIndex.l, nYData.l)
Prototype.l RMC_SetSeriesStartAngle(nCtrlId.l, nRegion.l, nSeries.l, nStartAngle.l)
Prototype.l RMC_SetSeriesStyle(nCtrlId.l, nRegion.l, nSeries.l, nStyle.l)
Prototype.l RMC_SetSeriesSymbol(nCtrlId.l, nRegion.l, nSeries.l, nSymbol.l)
Prototype.l RMC_SetSeriesValuelabel(nCtrlId.l, nRegion.l, nSeries.l, nValuelabel.l)
Prototype.l RMC_SetSeriesVertical(nCtrlId.l, nRegion.l, nSeries.l, nVertical.l)
Prototype.l RMC_SetSeriesXAxis(nCtrlId.l, nRegion.l, nSeries.l, nWhichXAxis.l)
Prototype.l RMC_SetSeriesYAxis(nCtrlId.l, nRegion.l, nSeries.l, nWhichYAxis.l)
Prototype.l RMC_SetSingleBarColors(nCtrlId.l, nRegion.l, *nFirstColorValue.l, nColorValuesCount.l)
Prototype.l RMC_SetWatermark(sWatermark.p-ascii, nColor.l, nLucentValue.l, nAlignment.l, nFontSize.l) 
Prototype.l RMC_SetXAXAlignment(nCtrlId.l, nRegion.l, nAlignment.l, nAxisIndex.l)
Prototype.l RMC_SetXAXDecimalDigits(nCtrlId.l, nRegion.l, nDecimalDigits.l, nAxisIndex.l)
Prototype.l RMC_SetXAXFontSize(nCtrlId.l, nRegion.l, nFontSize.l, nAxisIndex.l)
Prototype.l RMC_SetXAXLabels(nCtrlId.l, nRegion.l, sLabels.p-ascii, nAxisIndex.l)
Prototype.l RMC_SetXAXLabelAlignment(nCtrlId.l, nRegion.l, nLabelAlignment.l, nAxisIndex.l)
Prototype.l RMC_SetXAXLineColor(nCtrlId.l, nRegion.l, nColor.l, nAxisIndex.l)
Prototype.l RMC_SetXAXLineStyle(nCtrlId.l, nRegion.l, nStyle.l, nAxisIndex.l)
Prototype.l RMC_SetXAXMaxValue(nCtrlId.l, nRegion.l, nMaxValue.d, nAxisIndex.l)
Prototype.l RMC_SetXAXMinValue(nCtrlId.l, nRegion.l, nMinValue.d, nAxisIndex.l)
Prototype.l RMC_SetXAXText(nCtrlId.l, nRegion.l, sText.p-ascii, nAxisIndex.l)
Prototype.l RMC_SetXAXTextColor(nCtrlId.l, nRegion.l, nColor.l, nAxisIndex.l)
Prototype.l RMC_SetXAXTickcount(nCtrlId.l, nRegion.l, nTickCount.l, nAxisIndex.l)
Prototype.l RMC_SetXAXUnit(nCtrlId.l, nRegion.l, sUnit.p-ascii, nAxisIndex.l)
Prototype.l RMC_SetYAXAlignment(nCtrlId.l, nRegion.l, nAlignment.l, nAxisIndex.l)
Prototype.l RMC_SetYAXDecimalDigits(nCtrlId.l, nRegion.l, nDecimalDigits.l, nAxisIndex.l)
Prototype.l RMC_SetYAXFontSize(nCtrlId.l, nRegion.l, nFontSize.l, nAxisIndex.l)
Prototype.l RMC_SetYAXLabels(nCtrlId.l, nRegion.l, sLabels.p-ascii, nAxisIndex.l)
Prototype.l RMC_SetYAXLabelAlignment(nCtrlId.l, nRegion.l, nLabelAlignment.l, nAxisIndex.l)
Prototype.l RMC_SetYAXLineColor(nCtrlId.l, nRegion.l, nColor.l, nAxisIndex.l)
Prototype.l RMC_SetYAXLineStyle(nCtrlId.l, nRegion.l, nStyle.l, nAxisIndex.l)
Prototype.l RMC_SetYAXMaxValue(nCtrlId.l, nRegion.l, nMaxValue.d, nAxisIndex.l)
Prototype.l RMC_SetYAXMinValue(nCtrlId.l, nRegion.l, nMinValue.d, nAxisIndex.l)
Prototype.l RMC_SetYAXText(nCtrlId.l, nRegion.l, sText.p-ascii, nAxisIndex.l)
Prototype.l RMC_SetYAXTextColor(nCtrlId.l, nRegion.l, nColor.l, nAxisIndex.l)
Prototype.l RMC_SetYAXTickcount(nCtrlId.l, nRegion.l, nTickCount.l, nAxisIndex.l)
Prototype.l RMC_SetYAXUnit(nCtrlId.l, nRegion.l, sUnit.p-ascii, nAxisIndex.l)
;} 

;-       
;- FUNCTIONS
;- 

ProcedureDLL.l RMChart_INIT()
  
  Global __RMCHART__.l
  
  __RMCHART__ = LoadLibrary_("RMCHART.DLL")
  
  If __RMCHART__
    Global RMC_AddBarSeries.RMC_AddBarSeries                       = GetProcAddress_(__RMCHART__, "RMC_ADDBARSERIES")
    Global RMC_AddBarSeriesI.RMC_AddBarSeriesI                     = GetProcAddress_(__RMCHART__, "RMC_ADDBARSERIESI")
    Global RMC_AddCaption.RMC_AddCaption                           = GetProcAddress_(__RMCHART__, "RMC_ADDCAPTION")
    Global RMC_AddCaptionI.RMC_AddCaptionI                         = GetProcAddress_(__RMCHART__, "RMC_ADDCAPTIONI")
    Global RMC_AddDataAxis.RMC_AddDataAxis                         = GetProcAddress_(__RMCHART__, "RMC_ADDDATAAXIS")
    Global RMC_AddDataAxisI.RMC_AddDataAxisI                       = GetProcAddress_(__RMCHART__, "RMC_ADDDATAAXISI")
    Global RMC_AddGrid.RMC_AddGrid                                 = GetProcAddress_(__RMCHART__, "RMC_ADDGRID")
    Global RMC_AddGridI.RMC_AddGridI                               = GetProcAddress_(__RMCHART__, "RMC_ADDGRIDI")
    Global RMC_AddGridlessSeries.RMC_AddGridlessSeries             = GetProcAddress_(__RMCHART__, "RMC_ADDGRIDLESSSERIES")
    Global RMC_AddGridlessSeriesI.RMC_AddGridlessSeriesI           = GetProcAddress_(__RMCHART__, "RMC_ADDGRIDLESSSERIESI")
    Global RMC_AddHighLowSeries.RMC_AddHighLowSeries               = GetProcAddress_(__RMCHART__, "RMC_ADDHIGHLOWSERIES")
    Global RMC_AddLabelAxis.RMC_AddLabelAxis                       = GetProcAddress_(__RMCHART__, "RMC_ADDLABELAXIS")
    Global RMC_AddLabelAxisI.RMC_AddLabelAxisI                     = GetProcAddress_(__RMCHART__, "RMC_ADDLABELAXISI")
    Global RMC_AddLegend.RMC_AddLegend                             = GetProcAddress_(__RMCHART__, "RMC_ADDLEGEND")
    Global RMC_AddLegendI.RMC_AddLegendI                           = GetProcAddress_(__RMCHART__, "RMC_ADDLEGENDI")
    Global RMC_AddLineSeries.RMC_AddLineSeries                     = GetProcAddress_(__RMCHART__, "RMC_ADDLINESERIES")
    Global RMC_AddLineSeriesI.RMC_AddLineSeriesI                   = GetProcAddress_(__RMCHART__, "RMC_ADDLINESERIESI")
    Global RMC_AddRegion.RMC_AddRegion                             = GetProcAddress_(__RMCHART__, "RMC_ADDREGION")
    Global RMC_AddRegionI.RMC_AddRegionI                           = GetProcAddress_(__RMCHART__, "RMC_ADDREGIONI")
    Global RMC_AddVolumeBarSeries.RMC_AddVolumeBarSeries           = GetProcAddress_(__RMCHART__, "RMC_ADDVOLUMEBARSERIES")
    Global RMC_AddXAxis.RMC_AddXAxis                               = GetProcAddress_(__RMCHART__, "RMC_ADDXAXIS")
    Global RMC_AddXAxisI.RMC_AddXAxisI                             = GetProcAddress_(__RMCHART__, "RMC_ADDXAXISI")
    Global RMC_AddYAxis.RMC_AddYAxis                               = GetProcAddress_(__RMCHART__, "RMC_ADDYAXIS")
    Global RMC_AddYAxisI.RMC_AddYAxisI                             = GetProcAddress_(__RMCHART__, "RMC_ADDYAXISI")
    Global RMC_AddXYSeries.RMC_AddXYSeries                         = GetProcAddress_(__RMCHART__, "RMC_ADDXYSERIES")
    Global RMC_AddXYSeriesI.RMC_AddXYSeriesI                       = GetProcAddress_(__RMCHART__, "RMC_ADDXYSERIESI")
    Global RMC_CreateChart.RMC_CreateChart                         = GetProcAddress_(__RMCHART__, "RMC_CREATECHART")
    Global RMC_CreateChartI.RMC_CreateChartI                       = GetProcAddress_(__RMCHART__, "RMC_CREATECHARTI")
    Global RMC_CreateChartFromFile.RMC_CreateChartFromFile         = GetProcAddress_(__RMCHART__, "RMC_CREATECHARTFROMFILE")
    Global RMC_CreateChartOnDC.RMC_CreateChartOnDC                 = GetProcAddress_(__RMCHART__, "RMC_CREATECHARTONDC")
    Global RMC_CreateChartOnDCI.RMC_CreateChartOnDCI               = GetProcAddress_(__RMCHART__, "RMC_CREATECHARTONDCI")
    Global RMC_CreateChartFromFileOnDC.RMC_CreateChartFromFileOnDC = GetProcAddress_(__RMCHART__, "RMC_CREATECHARTFROMFILEONDC")
    Global RMC_Draw.RMC_Draw                                       = GetProcAddress_(__RMCHART__, "RMC_DRAW")
    Global RMC_Draw2Clipboard.RMC_Draw2Clipboard                   = GetProcAddress_(__RMCHART__, "RMC_DRAW2CLIPBOARD")
    Global RMC_Draw2File.RMC_Draw2File                             = GetProcAddress_(__RMCHART__, "RMC_DRAW2FILE")
    Global RMC_Draw2Printer.RMC_Draw2Printer                       = GetProcAddress_(__RMCHART__, "RMC_DRAW2PRINTER")
    Global RMC_DeleteChart.RMC_DeleteChart                         = GetProcAddress_(__RMCHART__, "RMC_DELETECHART")
    Global RMC_Paint.RMC_Paint                                     = GetProcAddress_(__RMCHART__, "RMC_PAINT")
    Global RMC_Reset.RMC_Reset                                     = GetProcAddress_(__RMCHART__, "RMC_RESET")
    Global RMC_SaveBMP.RMC_SaveBMP                                 = GetProcAddress_(__RMCHART__, "RMC_SAVEBMP")
    Global RMC_WriteRMCFile.RMC_WriteRMCFile                       = GetProcAddress_(__RMCHART__, "RMC_WRITERMCFILE")
    Global RMC_GetChartsizeFromFile.RMC_GetChartsizeFromFile       = GetProcAddress_(__RMCHART__, "RMC_GETCHARTSIZEFROMFILE")
    Global RMC_GetINFO.RMC_GetINFO                                 = GetProcAddress_(__RMCHART__, "RMC_GETINFO")
    Global RMC_GetINFOXY.RMC_GetINFOXY                             = GetProcAddress_(__RMCHART__, "RMC_GETINFOXY")
    Global RMC_GetCtrlLeft.RMC_GetCtrlLeft                         = GetProcAddress_(__RMCHART__, "RMC_GETCTRLLEFT")
    Global RMC_GetCtrlTop.RMC_GetCtrlTop                           = GetProcAddress_(__RMCHART__, "RMC_GETCTRLTOP")
    Global RMC_GetCtrlWidth.RMC_GetCtrlWidth                       = GetProcAddress_(__RMCHART__, "RMC_GETCTRLWIDTH")
    Global RMC_GetCtrlHeight.RMC_GetCtrlHeight                     = GetProcAddress_(__RMCHART__, "RMC_GETCTRLHEIGHT")
    Global RMC_GetVersion.RMC_GetVersion                           = GetProcAddress_(__RMCHART__, "RMC_GETVERSION")
    Global RMC_SetCaptionBGColor.RMC_SetCaptionBGColor             = GetProcAddress_(__RMCHART__, "RMC_SETCAPTIONBGCOLOR")
    Global RMC_SetCaptionFontSize.RMC_SetCaptionFontSize           = GetProcAddress_(__RMCHART__, "RMC_SETCAPTIONFONTSIZE")
    Global RMC_SetCaptionFontBold.RMC_SetCaptionFontBold           = GetProcAddress_(__RMCHART__, "RMC_SETCAPTIONFONTBOLD")
    Global RMC_SetCaptionText.RMC_SetCaptionText                   = GetProcAddress_(__RMCHART__, "RMC_SETCAPTIONTEXT")
    Global RMC_SetCaptionTextColor.RMC_SetCaptionTextColor         = GetProcAddress_(__RMCHART__, "RMC_SETCAPTIONTEXTCOLOR")
    Global RMC_SetCtrlBGColor.RMC_SetCtrlBGColor                   = GetProcAddress_(__RMCHART__, "RMC_SETCTRLBGCOLOR")
    Global RMC_SetCtrlBGImage.RMC_SetCtrlBGImage                   = GetProcAddress_(__RMCHART__, "RMC_SETCTRLBGIMAGE")
    Global RMC_SetCtrlFont.RMC_SetCtrlFont                         = GetProcAddress_(__RMCHART__, "RMC_SETCTRLFONT")
    Global RMC_SetCtrlPos.RMC_SetCtrlPos                           = GetProcAddress_(__RMCHART__, "RMC_SETCTRLPOS")
    Global RMC_SetCtrlSize.RMC_SetCtrlSize                         = GetProcAddress_(__RMCHART__, "RMC_SETCTRLSIZE")
    Global RMC_SetCtrlStyle.RMC_SetCtrlStyle                       = GetProcAddress_(__RMCHART__, "RMC_SETCTRLSTYLE")
    Global RMC_SetDAXAlignment.RMC_SetDAXAlignment                 = GetProcAddress_(__RMCHART__, "RMC_SETDAXALIGNMENT")
    Global RMC_SetDAXDecimalDigits.RMC_SetDAXDecimalDigits         = GetProcAddress_(__RMCHART__, "RMC_SETDAXDECIMALDIGITS")
    Global RMC_SetDAXFontSize.RMC_SetDAXFontSize                   = GetProcAddress_(__RMCHART__, "RMC_SETDAXFONTSIZE")
    Global RMC_SetDAXLineColor.RMC_SetDAXLineColor                 = GetProcAddress_(__RMCHART__, "RMC_SETDAXLINECOLOR")
    Global RMC_SetDAXLabelAlignment.RMC_SetDAXLabelAlignment       = GetProcAddress_(__RMCHART__, "RMC_SETDAXLABELALIGNMENT")
    Global RMC_SetDAXLabels.RMC_SetDAXLabels                       = GetProcAddress_(__RMCHART__, "RMC_SETDAXLABELS")
    Global RMC_SetDAXLineStyle.RMC_SetDAXLineStyle                 = GetProcAddress_(__RMCHART__, "RMC_SETDAXLINESTYLE")
    Global RMC_SetDAXMaxValue.RMC_SetDAXMaxValue                   = GetProcAddress_(__RMCHART__, "RMC_SETDAXMAXVALUE")
    Global RMC_SetDAXMinValue.RMC_SetDAXMinValue                   = GetProcAddress_(__RMCHART__, "RMC_SETDAXMINVALUE")
    Global RMC_SetDAXText.RMC_SetDAXText                           = GetProcAddress_(__RMCHART__, "RMC_SETDAXTEXT")
    Global RMC_SetDAXTextColor.RMC_SetDAXTextColor                 = GetProcAddress_(__RMCHART__, "RMC_SETDAXTEXTCOLOR")
    Global RMC_SetDAXTickcount.RMC_SetDAXTickcount                 = GetProcAddress_(__RMCHART__, "RMC_SETDAXTICKCOUNT")
    Global RMC_SetDAXUnit.RMC_SetDAXUnit                           = GetProcAddress_(__RMCHART__, "RMC_SETDAXUNIT")
    Global RMC_SetGridBGColor.RMC_SetGridBGColor                   = GetProcAddress_(__RMCHART__, "RMC_SETGRIDBGCOLOR")
    Global RMC_SetGridGradient.RMC_SetGridGradient                 = GetProcAddress_(__RMCHART__, "RMC_SETGRIDGRADIENT")
    Global RMC_SetGridMargin.RMC_SetGridMargin                     = GetProcAddress_(__RMCHART__, "RMC_SETGRIDMARGIN")
    Global RMC_SetLAXAlignment.RMC_SetLAXAlignment                 = GetProcAddress_(__RMCHART__, "RMC_SETLAXALIGNMENT")
    Global RMC_SetLAXCount.RMC_SetLAXCount                         = GetProcAddress_(__RMCHART__, "RMC_SETLAXCOUNT")
    Global RMC_SetLAXFontSize.RMC_SetLAXFontSize                   = GetProcAddress_(__RMCHART__, "RMC_SETLAXFONTSIZE")
    Global RMC_SetLAXLabelAlignment.RMC_SetLAXLabelAlignment       = GetProcAddress_(__RMCHART__, "RMC_SETLAXLABELALIGNMENT")
    Global RMC_SetLAXLabels.RMC_SetLAXLabels                       = GetProcAddress_(__RMCHART__, "RMC_SETLAXLABELS")
    Global RMC_SetLAXLineColor.RMC_SetLAXLineColor                 = GetProcAddress_(__RMCHART__, "RMC_SETLAXLINECOLOR")
    Global RMC_SetLAXLineStyle.RMC_SetLAXLineStyle                 = GetProcAddress_(__RMCHART__, "RMC_SETLAXLINESTYLE")
    Global RMC_SetLAXText.RMC_SetLAXText                           = GetProcAddress_(__RMCHART__, "RMC_SETLAXTEXT")
    Global RMC_SetLAXTextColor.RMC_SetLAXTextColor                 = GetProcAddress_(__RMCHART__, "RMC_SETLAXTEXTCOLOR")
    Global RMC_SetLAXTickCount.RMC_SetLAXTickCount                 = GetProcAddress_(__RMCHART__, "RMC_SETLAXTICKCOUNT")
    Global RMC_SetLegendAlignment.RMC_SetLegendAlignment           = GetProcAddress_(__RMCHART__, "RMC_SETLEGENDALIGNMENT")
    Global RMC_SetLegendBGColor.RMC_SetLegendBGColor               = GetProcAddress_(__RMCHART__, "RMC_SETLEGENDBGCOLOR")
    Global RMC_SetLegendFontBold.RMC_SetLegendFontBold             = GetProcAddress_(__RMCHART__, "RMC_SETLEGENDFONTBOLD")
    Global RMC_SetLegendFontSize.RMC_SetLegendFontSize             = GetProcAddress_(__RMCHART__, "RMC_SETLEGENDFONTSIZE")
    Global RMC_SetLegendStyle.RMC_SetLegendStyle                   = GetProcAddress_(__RMCHART__, "RMC_SETLEGENDSTYLE")
    Global RMC_SetLegendText.RMC_SetLegendText                     = GetProcAddress_(__RMCHART__, "RMC_SETLEGENDTEXT")
    Global RMC_SetLegendTextColor.RMC_SetLegendTextColor           = GetProcAddress_(__RMCHART__, "RMC_SETLEGENDTEXTCOLOR")
    Global RMC_SetRegionBorder.RMC_SetRegionBorder                 = GetProcAddress_(__RMCHART__, "RMC_SETREGIONBORDER")
    Global RMC_SetRegionFooter.RMC_SetRegionFooter                 = GetProcAddress_(__RMCHART__, "RMC_SETREGIONFOOTER")
    Global RMC_SetRegionMargin.RMC_SetRegionMargin                 = GetProcAddress_(__RMCHART__, "RMC_SETREGIONMARGIN")
    Global RMC_SetRMCFile.RMC_SetRMCFile                           = GetProcAddress_(__RMCHART__, "RMC_SETRMCFILE")
    Global RMC_SetSeriesColor.RMC_SetSeriesColor                   = GetProcAddress_(__RMCHART__, "RMC_SETSERIESCOLOR")
    Global RMC_SetSeriesData.RMC_SetSeriesData                     = GetProcAddress_(__RMCHART__, "RMC_SETSERIESDATA")
    Global RMC_SetSeriesDataAxis.RMC_SetSeriesDataAxis             = GetProcAddress_(__RMCHART__, "RMC_SETSERIESDATAAXIS")
    Global RMC_SetSeriesDataFile.RMC_SetSeriesDataFile             = GetProcAddress_(__RMCHART__, "RMC_SETSERIESDATAFILE")
    Global RMC_SetSeriesExplodeMode.RMC_SetSeriesExplodeMode       = GetProcAddress_(__RMCHART__, "RMC_SETSERIESEXPLODEMODE")
    Global RMC_SetSeriesHatchMode.RMC_SetSeriesHatchMode           = GetProcAddress_(__RMCHART__, "RMC_SETSERIESHATCHMODE")
    Global RMC_SetSeriesHide.RMC_SetSeriesHide                     = GetProcAddress_(__RMCHART__, "RMC_SETSERIESHIDE")
    Global RMC_SetSeriesLinestyle.RMC_SetSeriesLinestyle           = GetProcAddress_(__RMCHART__, "RMC_SETSERIESLINESTYLE")
    Global RMC_SetSeriesLucent.RMC_SetSeriesLucent                 = GetProcAddress_(__RMCHART__, "RMC_SETSERIESLUCENT")
    Global RMC_SetSeriesSingleData.RMC_SetSeriesSingleData         = GetProcAddress_(__RMCHART__, "RMC_SETSERIESSINGLEDATA")
    Global RMC_SetSeriesStartAngle.RMC_SetSeriesStartAngle         = GetProcAddress_(__RMCHART__, "RMC_SETSERIESSTARTANGLE")
    Global RMC_SetSeriesStyle.RMC_SetSeriesStyle                   = GetProcAddress_(__RMCHART__, "RMC_SETSERIESSTYLE")
    Global RMC_SetSeriesSymbol.RMC_SetSeriesSymbol                 = GetProcAddress_(__RMCHART__, "RMC_SETSERIESSYMBOL")
    Global RMC_SetSeriesValuelabel.RMC_SetSeriesValuelabel         = GetProcAddress_(__RMCHART__, "RMC_SETSERIESVALUELABEL")
    Global RMC_SetSeriesVertical.RMC_SetSeriesVertical             = GetProcAddress_(__RMCHART__, "RMC_SETSERIESVERTICAL")
    Global RMC_SetSeriesXAxis.RMC_SetSeriesXAxis                   = GetProcAddress_(__RMCHART__, "RMC_SETSERIESXAXIS")
    Global RMC_SetSeriesYAxis.RMC_SetSeriesYAxis                   = GetProcAddress_(__RMCHART__, "RMC_SETSERIESYAXIS")
    Global RMC_SetSingleBarColors.RMC_SetSingleBarColors           = GetProcAddress_(__RMCHART__, "RMC_SETSINGLEBARCOLORS")
    Global RMC_SetWatermark.RMC_SetWatermark                       = GetProcAddress_(__RMCHART__, "RMC_SETWATERMARK")
    Global RMC_SetXAXAlignment.RMC_SetXAXAlignment                 = GetProcAddress_(__RMCHART__, "RMC_SETXAXALIGNMENT")
    Global RMC_SetXAXDecimalDigits.RMC_SetXAXDecimalDigits         = GetProcAddress_(__RMCHART__, "RMC_SETXAXDECIMALDIGITS")
    Global RMC_SetXAXFontSize.RMC_SetXAXFontSize                   = GetProcAddress_(__RMCHART__, "RMC_SETXAXFONTSIZE")
    Global RMC_SetXAXLabels.RMC_SetXAXLabels                       = GetProcAddress_(__RMCHART__, "RMC_SETXAXLABELS")
    Global RMC_SetXAXLabelAlignment.RMC_SetXAXLabelAlignment       = GetProcAddress_(__RMCHART__, "RMC_SETXAXLABELALIGNMENT")
    Global RMC_SetXAXLineColor.RMC_SetXAXLineColor                 = GetProcAddress_(__RMCHART__, "RMC_SETXAXLINECOLOR")
    Global RMC_SetXAXLineStyle.RMC_SetXAXLineStyle                 = GetProcAddress_(__RMCHART__, "RMC_SETXAXLINESTYLE")
    Global RMC_SetXAXMaxValue.RMC_SetXAXMaxValue                   = GetProcAddress_(__RMCHART__, "RMC_SETXAXMAXVALUE")
    Global RMC_SetXAXMinValue.RMC_SetXAXMinValue                   = GetProcAddress_(__RMCHART__, "RMC_SETXAXMINVALUE")
    Global RMC_SetXAXText.RMC_SetXAXText                           = GetProcAddress_(__RMCHART__, "RMC_SETXAXTEXT")
    Global RMC_SetXAXTextColor.RMC_SetXAXTextColor                 = GetProcAddress_(__RMCHART__, "RMC_SETXAXTEXTCOLOR")
    Global RMC_SetXAXTickcount.RMC_SetXAXTickcount                 = GetProcAddress_(__RMCHART__, "RMC_SETXAXTICKCOUNT")
    Global RMC_SetXAXUnit.RMC_SetXAXUnit                           = GetProcAddress_(__RMCHART__, "RMC_SETXAXUNIT")
    Global RMC_SetYAXAlignment.RMC_SetYAXAlignment                 = GetProcAddress_(__RMCHART__, "RMC_SETYAXALIGNMENT")
    Global RMC_SetYAXDecimalDigits.RMC_SetYAXDecimalDigits         = GetProcAddress_(__RMCHART__, "RMC_SETYAXDECIMALDIGITS")
    Global RMC_SetYAXFontSize.RMC_SetYAXFontSize                   = GetProcAddress_(__RMCHART__, "RMC_SETYAXFONTSIZE")
    Global RMC_SetYAXLabels.RMC_SetYAXLabels                       = GetProcAddress_(__RMCHART__, "RMC_SETYAXLABELS")
    Global RMC_SetYAXLabelAlignment.RMC_SetYAXLabelAlignment       = GetProcAddress_(__RMCHART__, "RMC_SETYAXLABELALIGNMENT")
    Global RMC_SetYAXLineColor.RMC_SetYAXLineColor                 = GetProcAddress_(__RMCHART__, "RMC_SETYAXLINECOLOR")
    Global RMC_SetYAXLineStyle.RMC_SetYAXLineStyle                 = GetProcAddress_(__RMCHART__, "RMC_SETYAXLINESTYLE")
    Global RMC_SetYAXMaxValue.RMC_SetYAXMaxValue                   = GetProcAddress_(__RMCHART__, "RMC_SETYAXMAXVALUE")
    Global RMC_SetYAXMinValue.RMC_SetYAXMinValue                   = GetProcAddress_(__RMCHART__, "RMC_SETYAXMINVALUE")
    Global RMC_SetYAXText.RMC_SetYAXText                           = GetProcAddress_(__RMCHART__, "RMC_SETYAXTEXT")
    Global RMC_SetYAXTextColor.RMC_SetYAXTextColor                 = GetProcAddress_(__RMCHART__, "RMC_SETYAXTEXTCOLOR")
    Global RMC_SetYAXTickcount.RMC_SetYAXTickcount                 = GetProcAddress_(__RMCHART__, "RMC_SETYAXTICKCOUNT")
    Global RMC_SetYAXUnit.RMC_SetYAXUnit                           = GetProcAddress_(__RMCHART__, "RMC_SETYAXUNIT")
  EndIf
  
  ProcedureReturn __RMCHART__
  
EndProcedure
ProcedureDLL.l RMChart_FREE()
  
  Shared __RMCHART__.l
  
  If __RMCHART__
    FreeLibrary_(__RMCHART__)
  EndIf
  
EndProcedure  
                                                  
;-
;- END OF FILE
;-

DisableExplicit
here I get the in the topic described error from here:

Code: Select all

;{ RMC_Add
Prototype.l RMC_AddBarSeries      (nCtrlId.l, nRegion.l, *nFirstDataValue.d, nDataValuesCount.l, nType.l, nStyle.l, nIsLucent.l, nColor.l, nIsHorizontal.l, nWhichDataAxis.l, nValueLabelOn.l, nPointsPerColumn.l, nHatchMode.l) 
Can someone offer me a practical way to fix these files to use them again? In fact I don't like pointers and never use them :oops: ... So please help :wink:

Cheers
User avatar
Danilo
Addict
Addict
Posts: 3036
Joined: Sat Apr 26, 2003 8:26 am
Location: Planet Earth

Re: [5.10] Native types can't be used with pointers

Post by Danilo »

r7mk4 wrote:Can someone offer me a practical way to fix these files to use them again? In fact I don't like pointers and never use them :oops: ... So please help :wink:
Compile the files with F5 key, this will show you the error lines. Remove every basic data type (.l, .d, .b etc) from pointers. Just remove them, they have been useless before.
User avatar
skywalk
Addict
Addict
Posts: 4211
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: [5.10] Native types can't be used with pointers

Post by skywalk »

I strongly suggest you replace '*pointer.d' with '*pointer_d' so you know what datatype the dll is expecting.
Then Context Help will show you this in the status bar.
Otherwise '*pointer' means almost anything to a new user.
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
User avatar
Michael Vogel
Addict
Addict
Posts: 2797
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Re: [5.10] Native types can't be used with pointers

Post by Michael Vogel »

Sure someone has already written an answer to this question, but I didn't find it now - how to easily replace *var.s parameters in procedures to allow assigning new values to strings?

Code: Select all

;Procedure OldT(*Text.s)
	
	;*Text="*******"+LSet(Str(Val(*Text)),Len(*Text))+"*******"
	
;EndProcedure

Procedure NewT(*x)
	
	Protected *s.String=@*x
	
	;Debug *x
	;Debug *s
	
	Debug ""
	Debug "Old Value A:"
	Debug *s\s
	
	Debug ""
	Debug "New Value A:"
	*s\s="a*b*c*d*e*f*g*h*i*j*k*l*m*n*o"
	Debug *s\s
	
	Debug ""
	Debug "New Value B:"
	Debug "*******"+LSet(Str(Val(*s\s)),Len(*s\s))+"*******"
	*s\s="*******"+LSet(Str(Val(*s\s)),Len(*s\s))+"*******"
	Debug *s\s
	
EndProcedure

s.s="Hi"
NewT(@s)

Debug ""
Debug "Result:"
Debug s


The example procedure above returns "a*b*c*d*e*f*g*h*i*j*k*l*m*n*o" which is not the result I would have expected.
User avatar
luis
Addict
Addict
Posts: 3893
Joined: Wed Aug 31, 2005 11:09 pm
Location: Italy

Re: [5.10] Native types can't be used with pointers

Post by luis »

Michael Vogel wrote:how to easily replace *var.s parameters in procedures to allow assigning new values to strings?
Do you mean this ?

Code: Select all

Procedure foo(*s.String)
 *s\s + " world"
EndProcedure

Define a.String\s = "hello"

foo(@a)

Debug a\s
Probably this should have been in its own thread though :wink:
"Have you tried turning it off and on again ?"
A little PureBasic review
Post Reply