problem with classes

Started by Rudolf Furstauer, May 08, 2010, 12:48:39 PM

Previous topic - Next topic

Rudolf Furstauer

Hi Paul,
I think I've found a strange bug in FF3.

I created a new project in FF3 with classes from an PB projekt.
In PB9 the classes are working well.

In FF3, it was not possible to compile the project.
The Compiler returned an error during compiling:    Error 524:  UNDEFINED TYPE

In the CODEGEN_MYSQL_DECLARES file I saw that the order of the functions and types is wrong.

First comes the class, then the Type and then the functions.
When I put the class by hand at the end of the file, I can compile with PB without errors.
If you want I can send you the project.

Part of the file CODEGEN_MYSQL_DECLARES:
'------------------------------------------------------------------------------
' Source code generated by FireFly Visual Designer Version: 3.06
' Generated: Samstag  Mai 08, 2010 at 04:56:43
' Visit www.planetsquires.com for more information
'------------------------------------------------------------------------------

%MYSQL_OPT_CONNECT_TIMEOUT  = 0
%MYSQL_OPT_COMPRESS         = 1
%MYSQL_OPT_NAMED_PIPE       = 2
%MYSQL_INIT_COMMAND         = 3
%MYSQL_READ_DEFAULT_FILE    = 4
%MYSQL_READ_DEFAULT_GROUP   = 5
%FIELD_TYPE_TIME        = 11
%FIELD_TYPE_DATETIME    = 12
%FIELD_TYPE_YEAR        = 13
%FIELD_TYPE_NEWDATE     = 14
%FIELD_TYPE_ENUM        = 247
%FIELD_TYPE_SET         = 248
%FIELD_TYPE_TINY_BLOB   = 249
%FIELD_TYPE_MEDIUM_BLOB = 250
%FIELD_TYPE_LONG_BLOB   = 251
%FIELD_TYPE_BLOB        = 252
%FIELD_TYPE_VAR_STRING  = 253
%FIELD_TYPE_STRING      = 254

Global HWND_FRMMYSQL As Dword
Global HWND_FRMMYSQL_CMDMYSQL() As Dword
Global IDC_FRMMYSQL_CMDMYSQL() As Long


Class cMySql   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|9|0
    Instance sHostName      As String   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|10|0
    Instance lPortNummer    As Long   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|11|0
    Instance sDatabaseName  As Asciiz * 255   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|12|0
    Instance sDatabaseUser  As String   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|13|0
    Instance sDatabasePwd   As String   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|14|0
'    '-----------------------------------------------------------   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|62|0
'    ' interne Methode zur ermittlung des MySQL Fehlers   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|63|0
'    '-----------------------------------------------------------   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|64|0
    Interface MySqlConnection   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|73|0
        Inherit IUnknown            ' inherit the base class   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|74|0
        Property Set SetHostName(ByVal sValue As String)   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|77|0
            sHostName = sValue   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|78|0
        End Property   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|79|0
        Property Set SetPortNummer(ByVal lValue As Long)   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|82|0
            lPortNummer = lValue   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|83|0
        End Property   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|84|0
        Property Set SetDatabaseName(ByVal sValue As String)   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|87|0
            sDatabaseName = sValue   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|88|0
        End Property   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|89|0
        Property Set SetDatabaseUser(ByVal sValue As String)   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|92|0
            sDatabaseUser = sValue   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|93|0
        End Property   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|94|0
        Property Set SetDatabasePwd(ByVal sValue As String)   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|97|0
            sDatabasePwd = sValue   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|98|0
        End Property   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|99|0
        End Method   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|126|0
    End Interface   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|284|0
End Class   ':FILE:CODEGEN_MYSQL_MYSQL_CLASSINC_MODULE.inc|285|0


Type T_USED_MEM                             ' struct for once_alloc   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|62|0
    ptNext              As T_USED_MEM Ptr   ' Next block in use   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|63|0
    dwLeft              As Dword            ' memory left in block   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|64|0
    dwSize              As Dword            ' size of block   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|65|0
End Type   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|66|0
Type T_MEM_ROOT   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|68|0
    ptFree              As T_USED_MEM Ptr   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|69|0
    ptUsed              As T_USED_MEM Ptr   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|70|0
    ptPreAlloc          As T_USED_MEM Ptr   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|71|0
    dwMinMalloc         As Dword   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|72|0
    dwBlockSize         As Dword   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|73|0
End Type   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|74|0
Type T_MYSQL_ROWS   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|182|0
    ptNext              As Dword 'list of rows   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|183|0
    pszData             As Asciiz Ptr   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|184|0
End Type   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|185|0
Type T_MYSQL_DATA   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|187|0
    qRows               As Quad   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|188|0
    dwFields            As Dword   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|189|0
    ptData              As T_MYSQL_ROWS Ptr   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|190|0
    tAlloc              As T_MEM_ROOT   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|191|0
End Type   ':FILE:CODEGEN_MYSQL_MYSQL_LIBINC_MODULE.inc|192|0


Global cMySqlConn    As MySqlConnection
Global lSqlConn      As Long

Declare Function FRMMYSQL_Show( ByVal hwndParent As Dword, _
                             ByVal ShowModalFlag As Long, _
                             Optional ByVal UserData As Long _
                             )  As Long
Declare Sub FRMMYSQL_CreateControls( ByVal hWndForm As Dword )
Declare Function FRMMYSQL_FORMPROCEDURE( ByVal hWndForm As Dword, _
                                      ByVal wMsg As Dword, _
                                      ByVal wParam As Long, _
                                      ByVal lParam As Long _
                                      ) As Long
Declare Function FRMMYSQL_CODEPROCEDURE( ByVal hWndControl As Dword, _
                                      ByVal wMsg As Dword, _
                                      ByVal wParam As Long, _
                                      ByVal lParam As Long _
                                      ) As Long


Declare Sub mysql_close Lib "libmySQL.DLL" Alias "mysql_close" (ByVal ptMYSQL As T_MYSQL Ptr)
Declare Function mysql_init Lib "libmySQL.DLL" Alias "mysql_init" (ByVal ptMYSQL As T_MYSQL Ptr) As Long
Declare Function mysql_options Lib "libmySQL.DLL" Alias "mysql_options" (ByVal ptMYSQL As T_MYSQL Ptr, ByVal lOption As Long, szArg As Asciiz) As Long
Declare Function mysql_ping Lib "libmySQL.DLL" Alias "mysql_ping" (ByVal ptMYSQL As T_MYSQL Ptr) As Long
Declare Function mysql_insert_id Lib "libmySQL.DLL" Alias "mysql_insert_id" (ByVal ptMYSQL As T_MYSQL Ptr) As Long
Declare Function mysql_num_fields Lib "libmySQL.DLL" Alias "mysql_num_fields" (ByVal ptResult As T_MYSQL_RES Ptr) As Long
Declare Function mysql_num_rows Lib "libmySQL.DLL" Alias "mysql_num_rows" (ByVal ptResult As T_MYSQL_RES Ptr) As Long
Declare Function mysql_store_result Lib "libmySQL.DLL" Alias "mysql_store_result" (ByVal ptMYSQL As T_MYSQL Ptr) As Long
Declare Function mysql_use_result Lib "libmySQL.DLL" Alias "mysql_use_result" (ByVal ptMYSQL As T_MYSQL Ptr) As Long
Declare Sub mysql_data_seek Lib "libmySQL.DLL" Alias "mysql_data_seek" (ByVal ptResult As T_MYSQL_RES Ptr, ByVal lOffset As Quad)
Declare Sub mysql_free_result Lib "libmySQL.DLL" Alias "mysql_free_result" (ByVal ptMYSQL As T_MYSQL Ptr)


Declare Function LibMain( ByVal hInstance    As DWord, _
                  ByVal fwdReason    As Long, _
                  ByVal lpvReserved  As Long _
                  ) As Long
Declare Function WinMain( ByVal hInstance     As Dword, _
                  ByVal hPrevInstance As Dword, _
                  ByVal lpCmdLine     As Asciiz Ptr, _
                  ByVal iCmdShow      As Long _
                  ) As Long
Declare Function FF_WINMAIN( ByVal hInstance     As Dword, _
                     ByVal hPrevInstance As Dword, _
                     ByVal lpCmdLine     As Asciiz Ptr, _
                     ByVal iCmdShow      As Long ) As Long
Declare Function FF_PUMPHOOK( Msg As tagMsg ) As Long
Declare Sub FLY_InitializeVariables()   
Declare Sub FLY_SetAppVariables()   
Declare Function FLY_AdjustWindowRect( ByVal hWndForm As DWord, _
                               ByVal cxClient As Long, _
                               ByVal cyClient As Long _
                               ) As Long
Declare Function FLY_EnumSysColorChangeProc( ByVal hWnd As Dword, lParam As Long ) As Long
Declare Function FLY_SetControlData( ByVal hWndControl    As Dword, _
                             ByVal AllowSubclass  As Long, _
                             ByVal AllowSetFont   As Long, _
                             ByVal sFontString    As String, _
                             ByVal nControlIndex  As Long, _
                             ByVal nProcessColor  As Long, _
                             ByVal IsForeSysColor As Long, _
                             ByVal IsBackSysColor As Long, _
                             ByVal nForeColor     As Long, _
                             ByVal nBackColor     As Long, _
                             ByVal nTransparentBrush As Long, _
                             ByVal CodeProcedure  As Dword, _
                             ByVal nResizeRule    As Long _     
                             ) As DWord
Declare Function FLY_GetActiveHandle( ByVal hWnd As DWord ) as DWord
Declare Function FLY_ResizeRuleInitEnum( ByVal hWnd As Long, ByVal lParam As Long ) As Long
Declare Function FLY_ResizeRuleEnum( ByVal hWnd As Long, ByVal lParam As Long ) As Long
Declare Function FF_Control_GetTag( ByVal hWndControl As Dword ) as String

Declare Function FF_Control_GetTag2( ByVal hWndControl As Dword ) as String

Declare Sub FF_Control_SetTag( ByVal hWnd As Dword, _
                       ByVal NewTag As String )

Declare Sub FF_Control_SetTag2( ByVal hWnd As Dword, _
                        ByVal NewTag As String )

Declare Function FF_EnumCharSet( _
                       elf            As ENUMLOGFONT,   _
                       ntm            As NEWTEXTMETRIC, _
                       ByVal FontType As Long, _
                       CharSet        As Long  _
                       ) As Long
Declare Function FF_MakeFontEX( ByVal sFont      As String, _
                        ByVal PointSize  As Long,   _
                        ByVal fBold      As Long,   _
                        ByVal fItalic    As Long,   _
                        ByVal fUnderline As Long,   _
                        ByVal StrikeThru As Long    _
                        ) As Long
Declare Function FF_MakeFontEx_Internal( ByVal sFont As String ) As DWord



Thanks  Rudolf