In my code I have the following in a separate module. After attempting to compile, the UNION ends up above the TYPE definition in the _DECLARES.INC file so errors with a 524 error. Any ideas?
TYPE XFER_TYPE
hDlg AS LONG ' 0~3
CmdSocket AS LONG ' 4~7
DataSocket AS LONG ' 8~11
ListenSocket AS LONG ' 12~15
CmdPort AS DWORD ' 16~19
DataPort AS DWORD ' 20~23
BytesProcessed AS DWORD ' 24~27
CmdBlockSize AS DWORD ' 28~31
DataBlockSize AS DWORD ' 32~35
StartTime AS DWORD ' 36~39
EndTime AS DWORD ' 40~43
CmdConnected AS BYTE ' 44
DataConnected AS BYTE ' 45
FTPFlag AS BYTE ' 46
FileLength AS QUAD ' 47~54
FileHandle AS LONG ' 55~58
SystemError AS DWORD ' 59~62
FileError AS DWORD ' 63~66
InetError AS DWORD ' 67~70
WinsockError AS DWORD ' 71~74
AppError AS DWORD ' 75~78
RemoteError AS DWORD ' 79~82
Aborted AS BYTE ' 83
FileNam AS STRING * %MAX_PATH ' 84
FileNum AS INTEGER
FileThread AS DWORD
OrigFileNam AS STRING * %MAX_PATH
END TYPE
TYPE CONFIG_TYPE
LastUsedIP AS STRING * 15
Ip1 AS STRING * 15
Ip2 AS STRING * 15
Ip3 AS STRING * 15
Ip4 AS STRING * 15
Ip5 AS STRING * 15
IPP1 AS STRING * 15
IPP2 AS STRING * 15
RecDir AS STRING * %MAX_PATH
SendDir AS STRING * %MAX_PATH
RetryFiles AS LONG
FilesOption AS LONG
OWTransferLog AS LONG
OWSystemLog AS LONG
AllFiles AS LONG
Retries AS INTEGER
END TYPE
UNION XFER_CONFIG_TYPE
x AS XFER_TYPE PTR
c AS CONFIG_TYPE PTR
END UNION
Here is the extract from the _DECLARES.INC file..
UNION XFER_CONFIG_TYPE
x AS XFER_TYPE PTR
c AS CONFIG_TYPE PTR
END UNION
%MSG_ARRAY_SIZE = 10
TYPE XFER_TYPE ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|156|0
hDlg AS LONG ' 0~3 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|157|0
CmdSocket AS LONG ' 4~7 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|158|0
DataSocket AS LONG ' 8~11 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|159|0
ListenSocket AS LONG ' 12~15 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|160|0
CmdPort AS DWORD ' 16~19 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|161|0
DataPort AS DWORD ' 20~23 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|162|0
BytesProcessed AS DWORD ' 24~27 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|163|0
CmdBlockSize AS DWORD ' 28~31 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|164|0
DataBlockSize AS DWORD ' 32~35 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|165|0
StartTime AS DWORD ' 36~39 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|166|0
EndTime AS DWORD ' 40~43 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|167|0
CmdConnected AS BYTE ' 44 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|168|0
DataConnected AS BYTE ' 45 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|169|0
FTPFlag AS BYTE ' 46 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|170|0
FileLength AS QUAD ' 47~54 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|171|0
FileHandle AS LONG ' 55~58 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|172|0
SystemError AS DWORD ' 59~62 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|173|0
FileError AS DWORD ' 63~66 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|174|0
InetError AS DWORD ' 67~70 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|175|0
WinsockError AS DWORD ' 71~74 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|176|0
AppError AS DWORD ' 75~78 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|177|0
RemoteError AS DWORD ' 79~82 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|178|0
Aborted AS BYTE ' 83 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|179|0
FileNam AS STRING * %MAX_PATH ' 84 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|180|0
FileNum AS INTEGER ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|181|0
FileThread AS DWORD ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|182|0
OrigFileNam AS STRING * %MAX_PATH ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|183|0
END TYPE ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|184|0
TYPE CONFIG_TYPE ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|186|0
LastUsedIP AS STRING * 15 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|187|0
Ip1 AS STRING * 15 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|188|0
Ip2 AS STRING * 15 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|189|0
Ip3 AS STRING * 15 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|190|0
Ip4 AS STRING * 15 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|191|0
Ip5 AS STRING * 15 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|192|0
IPP1 AS STRING * 15 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|193|0
IPP2 AS STRING * 15 ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|194|0
RecDir AS STRING * %MAX_PATH ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|195|0
SendDir AS STRING * %MAX_PATH ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|196|0
RetryFiles AS LONG ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|197|0
FilesOption AS LONG ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|198|0
OWTransferLog AS LONG ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|199|0
OWSystemLog AS LONG ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|200|0
AllFiles AS LONG ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|201|0
Retries AS INTEGER ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|202|0
END TYPE ':FILE:CODEGEN_NFFT_NFFTCONSTINC_MODULE.inc|203|0
I forgot to mention, I'm using version 3.61.
Hi Norman,
Right you are, and this is one area of the automated code generation process that will affect people either way I do it. Some need the UNIONS before the TYPE's and others need the UNIONS after the TYPE's. In your case, I suggest putting your UNIONS and TYPE's in a separate include file and #INCLUDE it into your program in the FF_APPSTART handler. It will be a bummer in that you will have to edit this file from outside of FireFly but if your code doesn't change often then it shouldn't be too much of a problem. An extra bonus would be that your code generation should be a little bit faster as well.
Thanks for the fast response. No problem with editing, just wondered about it.