DEFINE CLASS rlswap AS ReportListener
ListenerType = 1 && to see the results, use a preview
realFRX = ""
useFRX = ""
tempFRX = FORCEPATH(SYS(2015),SYS(2023))
PROCEDURE LoadReport
THIS.realFRX = THIS.CommandClauses.FILE
THIS.useFRX = GETFILE("frx")
IF EMPTY(THIS.useFRX)
RETURN .F.
ENDIF
SET DATASESSION TO THIS.FRXDataSession
SET SAFETY OFF && it's scoped to session anyway
THIS.ClearFRX(THIS.tempFRX)
RENAME (FORCEEXT(THIS.realFRX,"frx")) TO ;
FORCEEXT(THIS.tempFRX,"frx")
RENAME (FORCEEXT(THIS.realFRX,"frt")) TO ;
FORCEEXT(THIS.tempFRX,"frt")
COPY FILE (FORCEEXT(THIS.useFRX,"frx")) TO ;
FORCEEXT(THIS.realFRX,"frx")
COPY FILE (FORCEEXT(THIS.useFRX,"frt")) TO ;
FORCEEXT(THIS.realFRX,"frt")
ENDPROC
PROTECTED PROCEDURE clearFRX(tFRX)
IF FILE(FORCEEXT(tFRX,"frx"))
ERASE FORCEEXT(tFRX,"frx")) NORECYCLE
ENDIF
IF FILE(FORCEEXT(tFRX,"frt"))
ERASE FORCEEXT(tFRX,"frt")) NORECYCLE
ENDIF
ENDPROC
PROCEDURE UnloadReport
SET DATASESSION TO THIS.FRXDataSession
USE IN FRX
THIS.clearFRX(THIS.realFRX)
RENAME (FORCEEXT(THIS.tempFRX,"frx")) TO ;
FORCEEXT(THIS.realFRX,"frx")
RENAME (FORCEEXT(THIS.tempFRX,"frt")) TO ;
FORCEEXT(THIS.realFRX,"frt")
ENDPROC
ENDDEFINE |