Type Def's

Started by Douglas McDonald, June 17, 2010, 05:05:37 PM

Previous topic - Next topic

Douglas McDonald

I guess I don't understand and its been a long time since I've used FF3 or PB.

Anyway I have a program in PB9 that uses PROCESSENTRY32. That works fine . In PB9 I do not have to define the type structure or add the functions declares (see PB9 code below.

The same code in FF3 wont compile giving an Undefined Type error. Both programs include win32API.inc

What am I missing???

PB9:

#PBFORMS CREATED V1.50

#COMPILE EXE
#DIM ALL

'------------------------------------------------------------------------------
'   ** Includes **
'------------------------------------------------------------------------------
#PBFORMS BEGIN INCLUDES
%USEMACROS = 1
#IF NOT %DEF(%WINAPI)
    #INCLUDE "WIN32API.INC"
#ENDIF
#IF NOT %DEF(%COMMCTRL_INC)
    #INCLUDE "COMMCTRL.INC"
#ENDIF
#INCLUDE "PBForms.INC"
#PBFORMS END INCLUDES
'------------------------------------------------------------------------------

'------------------------------------------------------------------------------
'   ** Constants **
'------------------------------------------------------------------------------
#PBFORMS BEGIN CONSTANTS
%IDD_DIALOG1        =  101
%IDC_FRAME1         = 1001
%IDC_FRAME2         = 1003
%IDC_AppList        = 1002
%IDC_Acitve_list    = 1004
%IDC_Add_B          = 1005
%IDC_Remove_B       = 1006
%IDC_Test_B         = 1007
%IDC_Run_B          = 1008
%IDC_Exit_B         = 1009
%IDC_CHECK_beep     = 1010
%IDC_Check_minimize = 1011
%IDC_Add_Program_B  = 1013
%IDC_CHECK2         = 1014
%IDC_CHECK_Batt     = 1012
%IDC_BUTTON1        = 1015  '*
%IDC_Status_bar     = 1016
%IDC_FRAME3         = 1017
%IDC_Refresh_B      = 1018
#PBFORMS END CONSTANTS
'------------------------------------------------------------------------------
#INCLUDE "pb_proc.bas"
'------------------------------------------------------------------------------
'   ** Declarations **
'------------------------------------------------------------------------------
DECLARE CALLBACK FUNCTION ShowDIALOG1Proc()
DECLARE FUNCTION SampleListBox(BYVAL hDlg AS DWORD, BYVAL lID AS LONG, BYVAL _
    lCount AS LONG) AS LONG
DECLARE FUNCTION ShowDIALOG1(BYVAL hParent AS DWORD) AS LONG
#PBFORMS DECLARATIONS
'------------------------------------------------------------------------------

'************ Local Vars *****************
GLOBAL S_batt AS STRING
GLOBAL S_usb AS STRING
GLOBAL S_active_app AS STRING

'******** Local Declarations  ************
DECLARE SUB GetAvtiveApps()
DECLARE SUB Add_to_list()



'------------------------------------------------------------------------------
'   ** Main Application Entry Point **
'------------------------------------------------------------------------------
FUNCTION PBMAIN()
    PBFormsInitComCtls (%ICC_WIN95_CLASSES OR %ICC_DATE_CLASSES OR _
        %ICC_INTERNET_CLASSES)

    ShowDIALOG1 %HWND_DESKTOP
END FUNCTION
'------------------------------------------------------------------------------

'------------------------------------------------------------------------------
'   ** CallBacks **
'------------------------------------------------------------------------------
CALLBACK FUNCTION ShowDIALOG1Proc()

    SELECT CASE AS LONG CBMSG
        CASE %WM_INITDIALOG
            ' Initialization handler

        CASE %WM_SIZE
            ' Dialog has been resized
            CONTROL SEND CBHNDL, %IDC_Status_bar, CBMSG, CBWPARAM, CBLPARAM

        CASE %WM_NCACTIVATE
            STATIC hWndSaveFocus AS DWORD
            IF ISFALSE CBWPARAM THEN
                ' Save control focus
                hWndSaveFocus = GetFocus()
            ELSEIF hWndSaveFocus THEN
                ' Restore control focus
                SetFocus(hWndSaveFocus)
                hWndSaveFocus = 0
            END IF

        CASE %WM_COMMAND
            ' Process control notifications
            SELECT CASE AS LONG CBCTL
                ' /* Inserted by PB/Forms 01-29-2008 09:10:32
                CASE %IDC_Refresh_B
                    IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                       GetAvtiveApps
                    END IF
                ' */

                CASE %IDC_FRAME1

                CASE %IDC_AppList

                CASE %IDC_FRAME2

                CASE %IDC_Acitve_list

                CASE %IDC_Add_B
                    IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                        Add_to_list
                    END IF

                CASE %IDC_Remove_B
                    IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                        MSGBOX "%IDC_Remove_B=" + FORMAT$(%IDC_Remove_B), _
                            %MB_TASKMODAL
                    END IF

                CASE %IDC_Test_B
                   ' IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                   '     MSGBOX "%IDC_Test_B=" + FORMAT$(%IDC_Test_B), _
                   '         %MB_TASKMODAL
                   ' END IF

                CASE %IDC_Run_B
                    IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                        MSGBOX "%IDC_Run_B=" + FORMAT$(%IDC_Run_B), _
                            %MB_TASKMODAL
                    END IF

                CASE %IDC_Exit_B
                    IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN

                        DIALOG END CBHNDL

                    END IF

                CASE %IDC_CHECK_beep

                CASE %IDC_Check_minimize

                CASE %IDC_CHECK_Batt

                CASE %IDC_Add_Program_B
                    IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN

                    END IF

                CASE %IDC_CHECK2

                CASE %IDC_Status_bar

                CASE %IDC_FRAME3

            END SELECT
    END SELECT
END FUNCTION
'------------------------------------------------------------------------------



'------------------------------------------------------------------------------
'   ** Dialogs **
'------------------------------------------------------------------------------
FUNCTION ShowDIALOG1(BYVAL hParent AS DWORD) AS LONG
    LOCAL lRslt  AS LONG

#PBFORMS BEGIN DIALOG %IDD_DIALOG1->->
    GLOBAL hDlg   AS DWORD
    LOCAL hFont1 AS DWORD

    DIALOG NEW  hParent, "Not Busted", 224, 87, 463, 222, %WS_POPUP OR _
        %WS_BORDER OR %WS_DLGFRAME OR %WS_SYSMENU OR %WS_MINIMIZEBOX OR _
        %WS_CLIPSIBLINGS OR %WS_VISIBLE OR %DS_MODALFRAME OR %DS_3DLOOK OR _
        %DS_NOFAILCREATE OR %DS_SETFONT, %WS_EX_WINDOWEDGE OR _
        %WS_EX_CONTROLPARENT OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
        %WS_EX_RIGHTSCROLLBAR, TO hDlg
    CONTROL ADD FRAME,       hDlg, %IDC_FRAME1, "Applications List", 115, 10, _
        120, 190, %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER OR %BS_TEXT OR _
        %BS_LEFT OR %BS_TOP OR %BS_GROUPBOX, %WS_EX_LEFT OR _
        %WS_EX_LTRREADING
    CONTROL ADD LISTBOX,     hDlg, %IDC_AppList, , 125, 30, 100, 160
    CONTROL ADD FRAME,       hDlg, %IDC_FRAME2, "Running Applications", 310, _
        10, 120, 190, %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER OR %BS_TEXT OR _
        %BS_LEFT OR %BS_TOP OR %BS_GROUPBOX, %WS_EX_LEFT OR _
        %WS_EX_LTRREADING
    CONTROL ADD LISTBOX,     hDlg, %IDC_Acitve_list, , 320, 30, 100, 160
    CONTROL ADD BUTTON,      hDlg, %IDC_Add_B, "<<  Add", 245, 60, 50, 15
    CONTROL ADD BUTTON,      hDlg, %IDC_Remove_B, "Remove", 245, 80, 50, 15
    CONTROL ADD BUTTON,      hDlg, %IDC_Test_B, "Test", 245, 120, 50, 15
    CONTROL ADD BUTTON,      hDlg, %IDC_Run_B, "Run", 245, 140, 50, 15
    CONTROL ADD BUTTON,      hDlg, %IDC_Exit_B, "Exit", 245, 160, 50, 15
    CONTROL ADD CHECK3STATE, hDlg, %IDC_CHECK_beep, "Beep", 20, 60, 70, 10, _
        %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER OR %WS_TABSTOP OR %BS_TEXT OR _
        %BS_AUTO3STATE OR %BS_CENTER OR %BS_VCENTER, %WS_EX_LEFT OR _
        %WS_EX_LTRREADING
    CONTROL ADD CHECK3STATE, hDlg, %IDC_Check_minimize, "Minimize", 20, 75, _
        70, 10, %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER OR %WS_TABSTOP OR _
        %BS_TEXT OR %BS_AUTO3STATE OR %BS_CENTER OR %BS_VCENTER, %WS_EX_LEFT _
        OR %WS_EX_LTRREADING
    CONTROL ADD CHECK3STATE, hDlg, %IDC_CHECK_Batt, "Low Battery Alert", 20, _
        90, 70, 10, %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER OR %WS_TABSTOP OR _
        %BS_TEXT OR %BS_AUTO3STATE OR %BS_CENTER OR %BS_VCENTER, %WS_EX_LEFT _
        OR %WS_EX_LTRREADING
    CONTROL ADD BUTTON,      hDlg, %IDC_Add_Program_B, "Add Program", 245, _
        40, 50, 15
    CONTROL ADD CHECK3STATE, hDlg, %IDC_CHECK2, "spare2", 20, 105, 70, 10, _
        %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER OR %WS_TABSTOP OR %BS_TEXT OR _
        %BS_AUTO3STATE OR %BS_CENTER OR %BS_VCENTER, %WS_EX_LEFT OR _
        %WS_EX_LTRREADING
    CONTROL ADD "msctls_statusbar32", hDlg, %IDC_Status_bar, "Status :     " + _
        "USB - Disconnected     Battery -  Empty       Active  Program -   " + _
        "None", -1, 209, 464, 14, %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER, _
        %WS_EX_TRANSPARENT OR %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
        %WS_EX_RIGHTSCROLLBAR
    CONTROL ADD FRAME,       hDlg, %IDC_FRAME3, "Options", 5, 35, 100, 100, _
        %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER OR %BS_TEXT OR %BS_LEFT OR _
        %BS_TOP OR %BS_GROUPBOX, %WS_EX_LEFT OR %WS_EX_LTRREADING
    CONTROL ADD BUTTON,      hDlg, %IDC_Refresh_B, "Refresh >>", 245, 100, _
        50, 15

    hFont1 = PBFormsMakeFont("MS Sans Serif", 8, 700, %FALSE, %FALSE, %FALSE, _
        %ANSI_CHARSET)

    CONTROL SEND hDlg, %IDC_Run_B, %WM_SETFONT, hFont1, 0
#PBFORMS END DIALOG

    'SampleListBox  hDlg, %IDC_AppList, 30
    'SampleListBox  hDlg, %IDC_Acitve_list, 30
    GetAvtiveApps
    DIALOG SHOW MODAL hDlg, CALL ShowDIALOG1Proc TO lRslt

#PBFORMS BEGIN CLEANUP %IDD_DIALOG1
    DeleteObject hFont1
#PBFORMS END CLEANUP

    FUNCTION = lRslt
END FUNCTION
'------------------------------------------------------------------------------

SUB GetAvtiveApps()
LOCAL rslt AS LONG
LOCAL i AS LONG
DIM Larray() AS PROCESSENTRY32
REDIM Larray(0)
rslt = procGetList(Larray())

    LISTBOX RESET hDlg, %IDC_Acitve_list
    FOR i = 0 TO UBOUND(Larray())
         LISTBOX ADD hDlg, %IDC_Acitve_list, TRIM$(larray(i).szExeFile)
    NEXT i

END SUB

SUB Add_to_list()
LOCAL txt AS STRING

    LISTBOX GET TEXT hDlg, %IDC_Acitve_list TO txt
    LISTBOX ADD hDlg, %IDC_applist, txt

END SUB



FF3:


Sub GetAvtiveApps()
Local rslt As Long
Local i As Long
Dim Larray() As PROCESSENTRY32
ReDim Larray(0)
rslt = procGetList(Larray())

    ListBox Reset HWND_MAIN,HWND_MAIN_PROGLIST
    For i = 0 To UBound(Larray())
        FF_ListBox_AddString( HWND_MAIN_PROGLIST,Trim$(larray(i).szExeFile) )
        ' ListBox Add hDlg, %IDC_Acitve_list, Trim$(larray(i).szExeFile)
         
    Next i

End Sub   


Thank You


Doug McDonald
KD5NWK
www.redforksoftware.com
Is that 1's and 0's or 0's and 1's?

Douglas McDonald

Ok I did find the problem. I missed #INCLUDE "pb_proc.bas" in the PB9 program.

I added that to the FF_AppStart and now I get

COMPILER FILE NOT FOUND / ACCESSABLE error

Do I have to do something different to include the file.

Thank you. Sorry for the dumb questions,

Doug
Doug McDonald
KD5NWK
www.redforksoftware.com
Is that 1's and 0's or 0's and 1's?

Douglas McDonald

Ok, Ok I'm just stupid........my mind is way out to lunch. Just had to add it as a module
Doug McDonald
KD5NWK
www.redforksoftware.com
Is that 1's and 0's or 0's and 1's?