I use some constants and I'm tring to create a resident file with c compiler (x86-x64) but without success.
The file is created, but it only represents a few bytes.
With ASM compiler all is Ok.
I have tried with a personnal code in my ASM tool, I have tried with ResidentCreator from StarBootics (with a bit changes).
My test file represents a res file of 6646 bytes with the ASM compiler and a res file of 44 bytes with C compiler.
I don't know whether this is a problem with the PB code or a PB bug.
here is the PB code with my constants
Code: Select all
;-------------------------------------------------------------------------------------------------
;-
;-; Les erreurs
Enumeration 0 Step -1
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
; les 2 constantes #Error__Success et #Error__Gadget
; doivent absolument rester dans cet ordre à cause des tests asm
; des librairies
;-. ListiconGadget
#Error__ListIcon_Success
; l'identifiant #gadget n'est pas un n'est pas un gadget valide
#Error__ListIcon_Gadget ; -1
; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
; l'API UpdateWindow a échouée
#Error__UpdateWindow
;-. les messages HDM
; les messages ont échoués
#Error__HDM_GETITEMCOUNT
;-. les messages LVM
; les messages ont échoués
#Error__ListIcon_APPROXIMATEVIEWRECT
#Error__ListIcon_ARRANGE
#Error__ListIcon_CANCELEDITLABEL
#Error__ListIcon_CREATEDRAGIMAGE
#Error__ListIcon_DELETEALLITEMS
#Error__ListIcon_DELETECOLUMN
; -10 = LVM_DELETEITEM
; LVM_DELETEITEM
#Error__ListIcon_Unable_To_Delete_Item
#Error__ListIcon_EDITLABEL
#Error__ListIcon_ENABLEGROUPVIEW
; #LVM_ENSUREVISIBLE
#Error__ListIcon_Unable_To_Display_Item_Entirely_or_Partially
; #LVM_FINDITEM
#Error__ListIcon_Unable_To_Find_Item
#Error__ListIcon_GETBKCOLOR
#Error__ListIcon_GETBKIMAGE
#Error__ListIcon_GETCALLBACKMASK
; #LVM_GETCOLUMN
#Error__ListIcon_Unable_To_Get_ColumnAttributes
#Error__ListIcon_GETCOLUMNORDERARRAY
; -20 = #Error__ListIcon_GETCOLUMNWIDTH
#Error__ListIcon_GETCOLUMNWIDTH
#Error__ListIcon_GETCOUNTPERPAGE
#Error__ListIcon_GETEDITCONTROL
#Error__ListIcon_GETEMPTYTEXT
#Error__ListIcon_GETEXTENDEDLISTVIEWSTYLE
#Error__ListIcon_GETFOCUSEDGROUP
#Error__ListIcon_GETFOOTERINFO
#Error__ListIcon_GETFOOTERITEM
#Error__ListIcon_GETFOOTERITEMRECT
#Error__ListIcon_GETFOOTERRECT
; -30 = #Error__ListIcon_GETGROUPCOUNT
#Error__ListIcon_GETGROUPCOUNT
#Error__ListIcon_GETGROUPINFO
#Error__ListIcon_GETGROUPINFOBYINDEX
#Error__ListIcon_GETGROUPMETRICS
#Error__ListIcon_GETGROUPRECT
#Error__ListIcon_GETGROUPSTATE
; #LVM_GETHEADER
#Error__ListIcon_Unable_To_Get_HeaderID
#Error__ListIcon_GETHOTCURSOR
#Error__ListIcon_GETHOTITEM
#Error__ListIcon_GETHOVERTIME
; -40 = #Error__ListIcon_GETIMAGELIST
#Error__ListIcon_GETIMAGELIST
#Error__ListIcon_GETINSERTMARK
#Error__ListIcon_GETINSERTMARKCOLOR
#Error__ListIcon_GETINSERTMARKRECT
#Error__ListIcon_GETISEARCHSTRING
;#LVM_GETITEM
#Error__ListIcon_Unable_To_Get_ItemAttributes
;#LVM_GETITEMCOUNT
#Error__ListIcon_Unable_To_Get_ItemNumber
#Error__ListIcon_GETITEMINDEXRECT
; LVM_GETITEMPOSITION
#Error__ListIcon_Unable_To_Retrieve_ItemPosition
; LVM_GETITEMRECT
#Error__ListIcon_Unable_To_Retrieve_Item_Bounding_Dimensions
#Error__ListIcon_GETITEMSPACING
#Error__ListIcon_GETITEMSTATE
#Error__ListIcon_GETITEMTEXT
#Error__ListIcon_GETNEXTITEM
#Error__ListIcon_GETNEXTITEMINDEX
#Error__ListIcon_GETNUMBEROFWORKAREAS
#Error__ListIcon_GETORIGIN
#Error__ListIcon_GETOUTLINECOLOR
#Error__ListIcon_GETSELECTEDCOLUMN
#Error__ListIcon_GETSELECTEDCOUNT
#Error__ListIcon_GETSELECTIONMARK
#Error__ListIcon_GETSTRINGWIDTH
#Error__ListIcon_GETSUBITEMRECT
#Error__ListIcon_GETTEXTBKCOLOR
#Error__ListIcon_GETTEXTCOLOR
#Error__ListIcon_GETTILEINFO
#Error__ListIcon_GETTILEVIEWINFO
#Error__ListIcon_GETTOOLTIPS
#Error__ListIcon_GETTOPINDEX
#Error__ListIcon_GETUNICODEFORMAT
; #LVM_GETVIEW
#Error__ListIcon_Unable_To_Get_ViewMode
#Error__ListIcon_GETVIEWRECT
#Error__ListIcon_GETWORKAREAS
#Error__ListIcon_HASGROUP
#Error__ListIcon_HITTEST
#Error__ListIcon_INSERTCOLUMN
#Error__ListIcon_INSERTGROUP
#Error__ListIcon_INSERTGROUPSORTED
#Error__ListIcon_INSERTITEM
#Error__ListIcon_INSERTMARKHITTEST
#Error__ListIcon_ISGROUPVIEWENABLED
#Error__ListIcon_ISITEMVISIBLE
#Error__ListIcon_MAPIDTOINDEX
#Error__ListIcon_MAPINDEXTOID
#Error__ListIcon_MOVEGROUP
#Error__ListIcon_MOVEITEMTOGROUP
; #LVM_REDRAWITEMS
#Error__ListIcon_Unable_To_Redraw_ItemRange
#Error__ListIcon_REMOVEALLGROUPS
#Error__ListIcon_REMOVEGROUP
; #LVM_SCROLL
#Error__ListIcon_Unable_To_Scroll
#Error__ListIcon_SETBKCOLOR
#Error__ListIcon_SETBKIMAGE
#Error__ListIcon_SETCALLBACKMASK
; #LVM_SETCOLUMN
#Error__ListIcon_Unable_To_Set_ColumnAttributes
#Error__ListIcon_SETCOLUMNORDERARRAY
#Error__ListIcon_SETCOLUMNWIDTH
#Error__ListIcon_SETEXTENDEDLISTVIEWSTYLE
#Error__ListIcon_SETGROUPINFO
#Error__ListIcon_SETGROUPMETRICS
#Error__ListIcon_SETHOTCURSOR
#Error__ListIcon_SETHOTITEM
#Error__ListIcon_SETHOVERTIME
#Error__ListIcon_SETICONSPACING
#Error__ListIcon_SETIMAGELIST
#Error__ListIcon_SETINFOTIP
#Error__ListIcon_SETINSERTMARK
#Error__ListIcon_SETINSERTMARKCOLOR
; #LVM_SETITEM
#Error__ListIcon_Unable_To_Set_ItemAttributes
#Error__ListIcon_SETITEMCOUNT
#Error__ListIcon_SETITEMINDEXSTATE
#Error__ListIcon_SETITEMPOSITION
#Error__ListIcon_SETITEMPOSITION32
; #LVM_SETITEMSTATE
#Error__ListIcon_Unable_To_Set_ItemState
#Error__ListIcon_SETOUTLINECOLOR
#Error__ListIcon_SETSELECTEDCOLUMN
#Error__ListIcon_SETSELECTIONMARK
#Error__ListIcon_SETTEXTBKCOLOR
#Error__ListIcon_SETTEXTCOLOR
#Error__ListIcon_SETTILEINFO
#Error__ListIcon_SETTILEVIEWINFO
#Error__ListIcon_SETTILEWIDTH
#Error__ListIcon_SETTOOLTIPS
#Error__ListIcon_SETUNICODEFORMAT
; LVM_SETVIEW
#Error__ListIcon_Unable_To_Set_ViewMode
#Error__ListIcon_SETWORKAREAS
#Error__ListIcon_SORTGROUPS
#Error__ListIcon_SORTITEMS
#Error__ListIcon_SORTITEMSEX
#Error__ListIcon_SUBITEMHITTEST
; #LVM_UPDATE
#Error__ListIcon_Unable_To_Update_an_Item
; mauvais paramètre
#Error__ListIcon_Parameter_badValue
#Error__ListIcon_Memory
#Error__ListIcon_Empty
#Error__ListIcon_Not_Enough_Items_To_Switch_Rows
#Error__ListIcon_NoLoopback_available
#Error__ListIcon_UnableToMoveItems
#Error__ListIcon_bad_viewMode
; #Error__ListIcon_Parameter_badValue à laisser en dernier
#Error__ListIcon_Internal_Function_Error
EndEnumeration
;-------------------------------------------------------------------------------------------------
EnumerationBinary 1
; affiche toujours la ligne déplacée, pas au dabut mais défini par le système
#ListIcon__ShowRow
; bloque l'élément en haut ou bas de liste selon la fonction MoveRow Down or Up
#ListIcon__ShowRow_NoLoopback
; affiche toujours la ligne déplacée en haut de la liste
#ListIcon__ShowRowAtTop
; affiche toujours la ligne déplacée en bas de la liste
#ListIcon__ShowRowAtBottom
; sélectionne la ligne déplacée, si d'autres lignes sont sélectionnées (multisélection),
; elles resteront également sélectionnées
#ListIcon__SelectMovedRow
; sélectionne la ligne déplacée, toutes les autres seront désélectionnées
#ListIcon__SelectOnlyMovedRow
EndEnumeration
#ListIcon__ShowRow_NoOption = -1
;-------------------------------------------------------------------------------------------------
; la fonction ListIcon_Get_View(gadget) retourne une des valeurs du mode d'affichage
; la fonction retourne 0 en cas de succès donc on ne peut pas utiliser ces valeurs
EnumerationBinary 1
#ListIcon_View_LargeIcon ; -> #PB_Explorer_LargeIcon --> LV_VIEW_ICON
#ListIcon_View_Report ; --> #PB_Explorer_Report --> LV_VIEW_DETAILS
#ListIcon_View_SmallIcon ; --> #PB_Explorer_SmallIcon --> LV_VIEW_SMALLICON
#ListIcon_View_LIST ; --> #PB_Explorer_List --> LV_VIEW_LIST
#ListIcon_View_TILE ; --> n'exixte pas en PB --> LV_VIEW_TILE
EndEnumeration
;-------------------------------------------------------------------------------------------------
;-; Text alignment
; alignement du texte des colonnes de la listicon
#Listicon_TextAlign_left = 0
#Listicon_TextAlign_right = 1
#Listicon_TextAlign_center = 2
;-------------------------------------------------------------------------------------------------
;-; Image List
; #define LVSIL_NORMAL 0
; #define LVSIL_SMALL 1
; #define LVSIL_STATE 2
; #define LVSIL_GROUPHEADER 3
#Listicon_ImageList_NORMAL = 0 ; = #LVSIL_NORMALImage, List With large icons"
#Listicon_ImageList_SMALL = 1 ; = #LVSIL_SMALL, Image List with small icons"
#Listicon_ImageList_STATE = 2 ; = #LVSIL_STATE, Image List with state icons"
#Listicon_ImageList_GROUPHEADER = 3 ; = #LVSIL_GROUPHEADER, Image list for group header"
;-------------------------------------------------------------------------------------------------
#ListIcon_LVIS_CHECKED = $2000
#ListIcon_LVIS_UNCHECKED = $1000
;// Pas vraiment MS mais bon ..., pour être homogène
#ListIcon_LVIS_UNDROPHILITED = 0
#ListIcon_LVIS_UNFOCUSED = 0
#ListIcon_LVIS_UNSELECTED = 0
#ListIcon_LVIS_UNCUT = 0
; EnumerationBinary 4
; ; #ListIcon_Cut ; = 4
; ; #ListIcon_DragnDrop ; = 8
; ; #ListIcon_RowFocused ; = 16
; ; #ListIcon_STATEIMAGEMASK ; = 32
; EndEnumeration
EnumerationBinary 1
#ListIcon_NoRotation
#ListIcon_ShowRow
#ListIcon_ShowRowAtTop
#ListIcon_ShowRowAtBottom
#ListIcon_SelectMovedRow
#ListIcon_SelectOnlyMovedRow ;32
#ListIcon_ToggleCheckBoxes ; Inverse l'état des CheckBox
#ListIcon_SelectAll ; sélectionne tous les éléments
#ListIcon_UnselectAll ; Désélectionne tous les éléments
#ListIcon_Cut
#ListIcon_DragnDrop
#ListIcon_RowFocused
#ListIcon_Checked
#ListIcon_Selected
#ListIcon_STATEIMAGEMASK
;4096
;8192
EndEnumeration
#LVIF_COLFMT = $00010000
;// masque de lecture écriture
;#ListIcon_Reading_Mask = #LVIF_TEXT|#LVIF_IMAGE|#LVIF_PARAM|#LVIF_STATE|#LVIF_INDENT|#LVIF_GROUPID|#LVIF_NORECOMPUTE
#ListIcon_Reading_Mask = #LVIF_COLFMT|#LVIF_COLUMNS|#LVIF_GROUPID|#LVIF_IMAGE|#LVIF_INDENT|#LVIF_PARAM|#LVIF_STATE|#LVIF_TEXT
#ListIcon_Item_WritingMask = #ListIcon_Reading_Mask
#ListIcon_Reading_StateMask = #LVIS_FOCUSED|#LVIS_SELECTED|#LVIS_CUT|#LVIS_DROPHILITED|#LVIS_OVERLAYMASK|#LVIS_STATEIMAGEMASK
#ListIcon_SubItem_WritingMask = #LVIF_TEXT|#LVIF_IMAGE
; #ListIcon_SelectAll = $00000002
; #ListIcon_UnselectAll = $00000004
#ListIcon_CheckAll = #ListIcon_SelectAll
#ListIcon_UnCheckAll = #ListIcon_UnselectAll
; #ListIcon_ToggleCheckBoxes = $00000001 ; Inverse l'état des CheckBox
#ListIcon_CheckRow = %10000000000000000000000000000000
#ListIcon_UnCheckRow = %01000000000000000000000000000000
#ListIcon_ToggleSelectedRows = #ListIcon_ToggleCheckBoxes
#ListIcon_SelectedRow = #ListIcon_CheckRow
#ListIcon_UnSelectedRow = #ListIcon_UnCheckRow
#ListIcon_CutAll = #ListIcon_SelectAll
#ListIcon_UnCutAll = #ListIcon_UnselectAll
#ListIcon_ToggleCutRows = #ListIcon_ToggleCheckBoxes
#ListIcon_CutRow = #ListIcon_CheckRow
#ListIcon_UnCutRow = #ListIcon_UnCheckRow
#ListIcon_DragnDropAll = #ListIcon_SelectAll
#ListIcon_UnDragnDropAll = #ListIcon_UnselectAll
#ListIcon_ToggleDragnDropRows = #ListIcon_ToggleCheckBoxes
#ListIcon_DragnDropRow = #ListIcon_CheckRow
#ListIcon_UnDragnDropRow = #ListIcon_UnCheckRow
#ListIcon_FocusedRow = #ListIcon_CheckRow
#ListIcon_UnFocusedRow = #ListIcon_UnCheckRow
; #ListIcon_LVIS_FOCUSED = #LVIS_FOCUSED
; #ListIcon_LVIS_STATEIMAGEMASK = #LVIS_STATEIMAGEMASK
; #ListIcon_LVIS_SELECTED = #LVIS_SELECTED
; #ListIcon_LVIS_CUT = #LVIS_CUT
; #ListIcon_LVIS_DROPHILITED = #LVIS_DROPHILITED
#ListIcon_ItemState_FOCUSED = #LVIS_FOCUSED
#ListIcon_ItemState_SELECTED = #LVIS_SELECTED
#ListIcon_ItemState_CUT = #LVIS_CUT
#ListIcon_ItemState_DROPHILITED = #LVIS_DROPHILITED
; #ListIcon_ItemState_GLOW = #LVIS_GLOW
; #ListIcon_ItemState_ACTIVATING = #LVIS_ACTIVATING
#ListIcon_ItemState_OVERLAYMASK = #LVIS_OVERLAYMASK
#ListIcon_ItemState_STATEIMAGEMASK = #LVIS_STATEIMAGEMASK
#LVIS_State_Flag = #LVIS_CUT|#LVIS_DROPHILITED|#LVIS_FOCUSED|#LVIS_SELECTED
#ListIcon_AllItemStates = #LVIS_State_Flag|#LVIS_OVERLAYMASK|#LVIS_STATEIMAGEMASK
Code: Select all
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Project name : ResidentCreator
; File Name : ResidentCreator.pb
; File version: 1.0.0
; Programming : OK
; Programmed by : uwekel
; Modified by : StarBootics
; Date : 25-03-2013
; Last Update : 23-02-2015
; PureBasic code : V5.31
; Platform : Windows, Linux, MacOS X
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
DeclareModule ResidentCreator
Enumeration plateforme 1
#x86
#x86_C
#x64
#x64_C
EndEnumeration
Declare Initialize()
Declare Run(Plateform)
Declare Reset()
EndDeclareModule
Module ResidentCreator
#Option_Unicode = "/UNICODE /RESIDENT"
#Title = "Resident-Creator"
Global GLB_Compiler_x86$ = "G:\PureBasic\PureBasic__Environnement_X86\Compilers\pbcompiler.exe"
Global GLB_Compiler_x86_C$ = "G:\PureBasic\PureBasic__Environnement_X86\Compilers\pbcompilerc.exe"
Global GLB_Compiler_x64$ = "G:\PureBasic\PureBasic__Environnement_X64\Compilers\pbcompiler.exe"
Global GLB_Compiler_x64_C$ = "G:\PureBasic\PureBasic__Environnement_X64\Compilers\pbcompilerc.exe"
Structure Instance
Source.s
Extension.s
Name_x86.s
Name_x86_C.s
Name_x64.s
Name_x64_C.s
Path_Compiler_x86.s
Path_Compiler_x86_C.s
Path_Compiler_x64.s
Path_Compiler_x64_C.s
ResidentFile_x86.s
ResidentFile_x86_C.s
ResidentFile_x64.s
ResidentFile_x64_C.s
; CompilerFile.s
Command_x86.s
Command_x86_C.s
Command_x64.s
Command_x64_C.s
Argument_x86.s
Argument_x86_C.s
Argument_x64.s
Argument_x64_C.s
EndStructure
Global Instance.Instance
Procedure Initialize()
;get src filename
Instance\Source = "G:\PureBasic\Projets\Denis\ASM_Generator\ASM_Generator\PureAsm\ListIconGadget_Ex\ListIconGadget_Ex_res.pb"
;make resident name
Instance\Extension = "." + GetExtensionPart(Instance\Source)
; Instance\CompilerFile = "pbcompiler.exe"
Instance\Name_x86 = ReplaceString(GetFilePart(Instance\Source), Instance\Extension, "_x86.res")
Instance\Name_x86_C = ReplaceString(GetFilePart(Instance\Source), Instance\Extension, "_x86_C.res")
Instance\Name_x64 = ReplaceString(GetFilePart(Instance\Source), Instance\Extension, "_x64.res")
Instance\Name_x64_C = ReplaceString(GetFilePart(Instance\Source), Instance\Extension, "_x64_C.res")
; Instance\ResidentFile_x86 = GetEnvironmentVariable("PUREBASIC_HOME") + #Residents + #Separator + Instance\Name_x86_A
Instance\ResidentFile_x86 = "G:\PureBasic\PureBasic__Environnement_X86\Residents\" + Instance\Name_x86
Instance\ResidentFile_x86_C = "G:\PureBasic\PureBasic__Environnement_X86\Residents\" + Instance\Name_x86_C
Instance\ResidentFile_x64 = "G:\PureBasic\PureBasic__Environnement_X64\Residents\" + Instance\Name_x64
Instance\ResidentFile_x64_C = "G:\PureBasic\PureBasic__Environnement_X64\Residents\" + Instance\Name_x64_C
Instance\Path_Compiler_x86 = GetPathPart(GLB_Compiler_x86$)
Instance\Path_Compiler_x86_C = GetPathPart(GLB_Compiler_x86_C$)
Instance\Path_Compiler_x64 = GetPathPart(GLB_Compiler_x64$)
Instance\Path_Compiler_x64_C = GetPathPart(GLB_Compiler_x64_C$)
Instance\Command_x86 = GLB_Compiler_x86$
Instance\Command_x86_C = GLB_Compiler_x86_C$
Instance\Command_x64 = GLB_Compiler_x64$
Instance\Command_x64_C = GLB_Compiler_x64_C$
Instance\Argument_x86 = #DQUOTE$ + Instance\Source + #DQUOTE$ + " " + #Option_Unicode + " " + #DQUOTE$ + Instance\ResidentFile_x86 + #DQUOTE$
Instance\Argument_x86_C = #DQUOTE$ + Instance\Source + #DQUOTE$ + " " + #Option_Unicode + " " + #DQUOTE$ + Instance\ResidentFile_x86_C + #DQUOTE$
Instance\Argument_x64 = #DQUOTE$ + Instance\Source + #DQUOTE$ + " " + #Option_Unicode + " " + #DQUOTE$ + Instance\ResidentFile_x64 + #DQUOTE$
Instance\Argument_x64_C = #DQUOTE$ + Instance\Source + #DQUOTE$ + " " + #Option_Unicode + " " + #DQUOTE$ + Instance\ResidentFile_x64_C + #DQUOTE$
EndProcedure
Procedure Run(Plateform)
Protected out1.s = ""
Select Plateform
Case #X86
If FileSize(Instance\ResidentFile_x86) >= 0 And Not DeleteFile(Instance\ResidentFile_x86)
MessageRequester(#Title, "The Resident-File could not be deleted!")
Reset()
End
Else
Debug "*****************"
Debug Instance\Command_x86
Debug Instance\Argument_x86
Debug Instance\Path_Compiler_x86
p = RunProgram(Instance\Command_x86, Instance\Argument_x86 , Instance\Path_Compiler_x86, #PB_Program_Hide | #PB_Program_Open | #PB_Program_Read)
If IsProgram(p)
While ProgramRunning(p)
If AvailableProgramOutput(p)
out1.s + ReadProgramString(p) + #CRLF$
Debug out1
EndIf
Wend
CloseProgram(p)
EndIf
MessageRequester(#Title + " #X86", out$ +Chr(10) + out1)
EndIf
Case #x86_C
If FileSize(Instance\ResidentFile_x86_C) >= 0 And Not DeleteFile(Instance\ResidentFile_x86_C)
MessageRequester(#Title, "The Resident-File could not be deleted!")
Reset()
End
Else
Debug "*****************"
Debug Instance\Command_x86_C
Debug Instance\Argument_x86_C
Debug Instance\Path_Compiler_x86_C
p = RunProgram(Instance\Command_x86_C, Instance\Argument_x86_C, Instance\Path_Compiler_x86_C, #PB_Program_Hide | #PB_Program_Open | #PB_Program_Read)
If IsProgram(p)
While ProgramRunning(p)
If AvailableProgramOutput(p)
out1.s + ReadProgramString(p) + #CRLF$
Debug out1
EndIf
Wend
CloseProgram(p)
EndIf
MessageRequester(#Title + " #X86_C", out$ +Chr(10) + out1)
EndIf
Case #X64
If FileSize(Instance\ResidentFile_x64) >= 0 And Not DeleteFile(Instance\ResidentFile_x64)
MessageRequester(#Title, "The Resident-File could not be deleted!")
Reset()
End
Else
Debug "*****************"
Debug Instance\Command_x64
Debug Instance\Argument_x64
Debug Instance\Path_Compiler_x64
p = RunProgram(Instance\Command_x64, Instance\Argument_x64 , Instance\Path_Compiler_x64, #PB_Program_Hide | #PB_Program_Open | #PB_Program_Read)
If IsProgram(p)
While ProgramRunning(p)
If AvailableProgramOutput(p)
out1.s + ReadProgramString(p) + #CRLF$
EndIf
Wend
CloseProgram(p)
EndIf
MessageRequester(#Title+ " #X64", out$ +Chr(10) + out1)
EndIf
Case #X64_C
If FileSize(Instance\ResidentFile_x64_C) >= 0 And Not DeleteFile(Instance\ResidentFile_x64_C)
MessageRequester(#Title, "The Resident-File could not be deleted!")
Reset()
End
Else
Debug "*****************"
Debug Instance\Command_x64_C
Debug Instance\Argument_x64_C
Debug Instance\Path_Compiler_x64_C
p = RunProgram(Instance\Command_x64_C, Instance\Argument_x64_C , Instance\Path_Compiler_x64_C, #PB_Program_Hide | #PB_Program_Open | #PB_Program_Read)
If IsProgram(p)
While ProgramRunning(p)
If AvailableProgramOutput(p)
out1.s + ReadProgramString(p) + #CRLF$
EndIf
Wend
CloseProgram(p)
EndIf
MessageRequester(#Title+ " #X64_C", out$ +Chr(10) + out1)
EndIf
EndSelect
EndProcedure
Procedure Reset()
Instance\Source = ""
Instance\Extension = ""
Instance\Name_x86 = ""
Instance\Name_x64 = ""
Instance\Name_x64_C = ""
Instance\Path_Compiler_x86 = ""
Instance\Path_Compiler_x64 = ""
Instance\Path_Compiler_x64_C = ""
Instance\ResidentFile_x86 = ""
Instance\ResidentFile_x64 = ""
Instance\ResidentFile_x64_C = ""
; Instance\CompilerFile = ""
EndProcedure
EndModule
ResidentCreator::Initialize()
ResidentCreator::Run(ResidentCreator::#x86)
ResidentCreator::Run(ResidentCreator::#x86_C)
ResidentCreator::Run(ResidentCreator::#x64)
ResidentCreator::Run(ResidentCreator::#x64_C)
ResidentCreator::Reset()
; <<<<<<<<<<<<<<<<<<<<<<<
; <<<<< END OF FILE <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<
Thanks for your help