Re: Installing Phix
- Posted by katsmeow Feb 15, 2018
- 1424 views
Ok, to get the address ...
C:\Phix>pdemo.exe C:\Phix\demo\pGUI\pdemo\setup.ew:752 in procedure setButtonStates() (warning: lineno of -1 for era of #004B7D6E) fatal exception #80000003 at #004B7D6E subkey = <novalue> verb = <novalue> subname = <novalue> key_id = <novalue> subkeys = <novalue> subkeyidx = <novalue> actual = <novalue> res = <novalue> k = <novalue> d = {{"edita.exw","a",290709,2017,12,1,16,56,32}} Icon = "\"C:\\Phix\\ptick.ico\",0" ErrorIcon = "\"C:\\Phix\\pcross.ico\",0" Global & Local Variables --> see C:\Phix\ex.err Press Enter... C:\Phix>
and then searching list.asm for 004B7D6E ... found in only one place in the file, and a copy/paste from start of procedure to 15 lines past that line ...
; 3388 procedure :%pAllocStr(:%) ; 3389 end procedure -- (for Edita/CtrlQ) ; 3390 --*/ ; 3391 :%pAllocStr ; 3392 --------------- ; 3393 [32] ; 3394 -- Allocate a string of length ecx. ; 3395 -- Sets the length, type/refcount, and returns a ref in eax. ; 3396 -- All other registers (except eax) are preserved. ; 3397 test ecx,ecx test ecx,ecx ;#004B7D6A: 205311 uv 00 02 1 955 ; 3398 -- js e101atasonl ; attempt to allocate string of negative length ; 3399 -- js :invalidmemoryrequest ; 3400 jns @f jns #004B7D6F ;#004B7D6C: 171 01 v 00 00 1 955 ; 3401 int3 int3 ;#004B7D6E: 314 np 00 00 13 956 ; 3402 @@: ; 3403 pushad pushad ;#004B7D6F: 140 np 00 FF 5 969 ; 3404 add ecx,17 -- header plus terminating null add ecx,17 ;#004B7D70: 203301 11 uv 02 02 1 974 ; 3405 xor ebx,ebx -- (save some grief) xor ebx,ebx ;#004B7D73: 061333 vu 08 08 1 974 ; 3406 mov edx,[esp+32] -- era mov edx,[esp+32] ;#004B7D75: 213124044 20 uv 04 10 1 975 ; 3407 call :%pGetPool -- allocate ecx bytes, rounded up call #004B78E0 (:%pGetPool) ;#004B7D79: 350 62FBFFFF v 00 00 1 975 ; 3408 test eax,eax test eax,eax ;#004B7D7E: 205300 uv 00 01 1 976 ; 3409 -- jz :memoryallocationfailure ; 3410 jnz @f jnz #004B7D91 ;#004B7D80: 165 0F v 00 00 1 976 ; 3411 mov edx,[esp+32] -- era mov edx,[esp+32] ;#004B7D82: 213124044 20 uv 04 10 1 977 ; 3412 mov al,33 -- e33maf mov al,33 ;#004B7D86: 260 21 vu 01 00 1 977 ; 3413 sub edx,1 sub edx,1 ;#004B7D88: 203352 01 uv 04 04 1 978 ; 3414 jmp :!iDiag jmp #004B8604 (:!iDiag) ;#004B7D8B: 351 74080000 v 00 00 1 978 ; 3415 int3 int3 ;#004B7D90: 314 np 00 00 13 979 ; 3416 @@: ; 3417 mov ecx,[esp+24] -- retrieve original length (ecx from the pushad) mov ecx,[esp+24] ;#004B7D91: 213114044 18 uv 02 10 1 992 ; 3418 mov [eax],edx -- set maxlen mov [eax],edx ;#004B7D95: 211020 vu 00 05 1 992 ; 3419 lea edx,[eax+17] -- ref: raw plus header & type bit, lea edx,[eax+17] ;#004B7D97: 215120 11 uv 04 01 1 993 ; 3420 mov [eax+4],ecx -- set lengthAnd the top of the ex.err file is:
C:\Phix\demo\pGUI\pdemo\setup.ew:752 in procedure setButtonStates() fatal exception #80000003 at #004B7D6E subkey = <novalue> verb = <novalue> subname = <novalue> key_id = <novalue> subkeys = <novalue> subkeyidx = <novalue> actual = <novalue> res = <novalue> k = <novalue> d = {{"edita.exw","a",290709,2017,12,1,16,56'8',32' '}} Icon = "\"C:\\Phix\\ptick.ico\",0" ErrorIcon = "\"C:\\Phix\\pcross.ico\",0" RunEx = "\"C:\\Phix\\p.exe\" \"%1\"" RunExw = "\"C:\\Phix\\pw.exe\" \"%1\"" HKLMPath = "%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem;C:\\batch;" HKCUPath = <novalue> parts = <novalue> phixes = <novalue> uparts = <novalue> uphixes = <novalue> c = <novalue> lPaths = {"","",""} pt = <novalue> ptO = <novalue> wasFocus = <novalue> i = <novalue> i = <novalue> j = <novalue> dix = <novalue> j = <novalue> ... called from C:\Phix\demo\pGUI\pdemo\setup.ew:1557 in procedure Setup() flag = 1 ... called from C:\Phix\demo\pGUI\pdemo\setup.ew:2144 in function create_settings_tab() lwino = 2666320 lpath = 2667968 lpad1 = 2672832 lpert = 2680504 lper2 = 2685512 ldefi = 11931224 lerri = 11937776 ledix = 11944368 lrun1 = 11950896 lrunw = 11955952 lpad2 = 11960984 bHelp = 11966720 i = 9 ... called from C:\Phix\demo\pGUI\pdemo.exw:189 in procedure main() runBtn = 2651000 flbl = 2652864 helpBtn = 2655960 closeBtn = 2657808 rlfhc = 2659656 tab1 = 2664648 tab2 = <novalue> box = <novalue> cl = {"C:\\Phix\\pdemo.exe","C:\\Phix\\pdemo.exe"} cpaths = {"C:","Phix"} cpaths = <novalue> dll_path = "C:\\Phix\\demo\\pGUI\\" vbox = <novalue> cl3 = <novalue> ... called from C:\Phix\demo\pGUI\pdemo.exw:236 ... called from C:\Phix\pdemo.exw:1