Author Topic: WANTED COMViewSrc.ZIP  (Read 17268 times)

six_L

  • Member
  • ***
  • Posts: 303
Re: WANTED COMViewSrc.ZIP
« Reply #15 on: December 25, 2015, 04:10:26 AM »
i don't know whether the files is being looked for.
Say you, Say me, Say the codes together for ever.

GoneFishing

  • Member
  • *****
  • Posts: 1072
  • Gone fishing
Re: WANTED COMViewSrc.ZIP
« Reply #16 on: December 25, 2015, 05:25:25 AM »
Yes!
Thank you, six_L !!! How did you find it ?
It's big surprise . Now I know for sure there's nothing impossible !
Merry Christmas to all !



six_L

  • Member
  • ***
  • Posts: 303
Re: WANTED COMViewSrc.ZIP
« Reply #17 on: December 25, 2015, 03:40:49 PM »
i'm pleasure to help you a bit.
happy new year to all.
Say you, Say me, Say the codes together for ever.

mabdelouahab

  • Member
  • ****
  • Posts: 518
Re: WANTED COMViewSrc.ZIP
« Reply #18 on: December 26, 2015, 01:30:32 AM »
Why I didn't find it in the past  :(
I spent years of work and research for the COM, Though I finished work
Thank you six_L, and thank you GoneFishing for the Topic  :t

GoneFishing

  • Member
  • *****
  • Posts: 1072
  • Gone fishing
Re: WANTED COMViewSrc.ZIP
« Reply #19 on: January 02, 2016, 11:29:48 PM »
@mabdelouahab :
I'm glad to be at your service

Hi all !
Hope you feel good after all that you had drunk on New Year's night .

Let's talk  about "How to compile this treasure code"

I've tried to build it in MS VS 2008 using original COMView makefile .
Here's what I got:
 
Quote
------ Build started: Project: COMView, Configuration: Debug Win32 ------
Performing Custom Build Step
 Assembling: EditDlg.asm
***********
ASCII build
***********
objidl.inc(179) : error A2004:symbol type conflict : LPSTREAM
oaidl.inc(20) : error A2004:symbol type conflict : PVOID
oaidl.inc(24) : error A2004:symbol type conflict : LPWSTR
COMView.inc(62) : error A2004:symbol type conflict : PBYTE
COMView.inc(63) : error A2004:symbol type conflict : PSTR
COMView.inc(68) : error A2111:conflicting parameter definition
MASM : fatal error A1016: Internal error
  Version 9.00.21022.08
  ExceptionCode            = C0000005
  ExceptionFlags           = 00000000
  ExceptionAddress         = 00439FD9 (00400000) "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\ml.exe"
  NumberParameters         = 00000002
  ExceptionInformation[ 0] = 00000000
  ExceptionInformation[ 1] = 00000000
CONTEXT:
  Eax    = 00000000  Esp    = 0012F8C4
  Ebx    = 0045EA05  Ebp    = 0012F8E8
  Ecx    = EB762E34  Esi    = 0045EAB7
  Edx    = 785BBB60  Edi    = 00445DE4
  Eip    = 00439FD9  EFlags = 00010206
  SegCs  = 0000001B  SegDs  = 00000023
  SegSs  = 00000023  SegEs  = 00000023
  SegFs  = 0000003B  SegGs  = 00000000
  Dr0    = 00000000  Dr3    = 00000000
  Dr1    = 00000000  Dr6    = 00000000
  Dr2    = 00000000  Dr7    = 00000000
Build log was saved at "file://c:\masm32\proj\COMViewSrc\Debug\BuildLog.htm"
COMView - 6 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

My guess is that COMView v1.5.2 (2003) was built with previous version of MASM32 SDK  .

What's your advice?

jj2007

  • Member
  • *****
  • Posts: 13633
  • Assembly is fun ;-)
    • MasmBasic
Re: WANTED COMViewSrc.ZIP
« Reply #20 on: January 02, 2016, 11:48:22 PM »
Maybe the old LPSTREAM etc definitions can be adapted to the new Masm32 versions?

TouEnMasm

  • Member
  • *****
  • Posts: 1764
    • EditMasm
Re: WANTED COMViewSrc.ZIP
« Reply #21 on: January 03, 2016, 12:12:38 AM »
Quote
MASM : fatal error A1016: Internal error
This one don't surprise me,use jwasm and re-post the result

Fa is a musical note to play with CL

GoneFishing

  • Member
  • *****
  • Posts: 1072
  • Gone fishing
Re: WANTED COMViewSrc.ZIP
« Reply #22 on: January 03, 2016, 02:08:19 AM »
Quote
MASM : fatal error A1016: Internal error
This one don't surprise me,use jwasm and re-post the result



Ok, but you have to know what have been done on ML build stage:
- DLGPROC and LPSTREAM were commented out (temporarily)   in windows.inc from MASM32 includes

Changes in  COMView makefile :
                                              - replace ML with JWASM (with full path or add the path to environment)
                                              - locate H2INC.EXE and add the path to it to environment

Open MS VS Command Prompt and navigate to COMViewSrc directory.
Execute command:
Code: [Select]
NMAKE /F COMView.mak
Errors from first run:
Quote
Microsoft (R) Program Maintenance Utility Version 9.00.21022.08
Copyright (C) Microsoft Corporation.  All rights reserved.

        C:\MASM32\BIN\JWASM.exe -c -coff -Zi -nologo -Sg -D_DEBUG -Fl.\Debug\CD
cument -Fo.\Debug\CDocument           CDocument.asm

***********
ASCII build
***********

oaidl.inc(20) : Error A2136: Symbol type conflict: PVOID
 oaidl.inc(20): Included by
  COMView.inc(19): Included by
   CDocument.asm(12): Main line code
oaidl.inc(24) : Error A2136: Symbol type conflict: LPWSTR
 oaidl.inc(24): Included by
  COMView.inc(19): Included by
   CDocument.asm(12): Main line code
COMView.inc(61) : Error A2136: Symbol type conflict: PVOID
 COMView.inc(61): Included by
  CDocument.asm(12): Main line code
COMView.inc(62) : Error A2136: Symbol type conflict: PBYTE
 COMView.inc(62): Included by
  CDocument.asm(12): Main line code
COMView.inc(63) : Error A2136: Symbol type conflict: PSTR
 COMView.inc(63): Included by
  CDocument.asm(12): Main line code
CDocument.asm: 1302 lines, 1 passes, 250 ms, 0 warnings, 5 errors

Comment out all these definitions and change externdef g_pObjects in COMView.inc to PVOID

Errors from next run of nmake:
Quote
***********
ASCII build
***********

EditDlg.asm(442) : Error A2189: Constant or relocatable label expected
 return(2)[macros.inc]: Macro called from
  EditDlg.asm(442): Main line code
EditDlg.asm(516) : Error A2189: Constant or relocatable label expected
 return(2)[macros.inc]: Macro called from
  EditDlg.asm(516): Main line code
EditDlg.asm(1445) : Error A2199: Syntax error in control-flow directive
EditDlg.asm(1800) : Error A2189: Constant or relocatable label expected
 return(2)[macros.inc]: Macro called from
  EditDlg.asm(1800): Main line code
EditDlg.asm: 1949 lines, 1 passes, 250 ms, 0 warnings, 4 errors
NMAKE : fatal error U1077: 'C:\MASM32\BIN\JWASM.exe' : return code '0x1'
Stop.

You see that 3 out of 4 errors are caused by return macro (macros.inc):
Code: [Select]

;--- return: return a value in eax

ifndef return

return macro x
ifnb <x>
 if OPATTR(x) eq 4 ;;constant?
  if x
mov eax,x
  else
xor eax,eax
  endif
 else
mov eax,x
 endif
endif
ret
endm

endif ;return







TouEnMasm

  • Member
  • *****
  • Posts: 1764
    • EditMasm
Re: WANTED COMViewSrc.ZIP
« Reply #23 on: January 03, 2016, 02:33:07 AM »

The good advise,use Jwasm OK
good advise,del all sorts of old builds and use vc++ to build the project:
Here the result,seems to work with minor modifies (name conflicts,public symbol..)
Compiled Under Windows 10 with vc++ 2015,put it in the disk with the masm32 package
and use the original libs.
comview.exe is in the release directory
Fa is a musical note to play with CL

GoneFishing

  • Member
  • *****
  • Posts: 1072
  • Gone fishing
Re: WANTED COMViewSrc.ZIP
« Reply #24 on: January 03, 2016, 02:39:46 AM »
Thank you , ToutEnMasm
Still I have to understand and build it myself !
BTW I reached the LINK stage with ML and got lots of LNK2005 errors
for example : OnNotify@0 is already defined in foo.obj

[EDIT]: I'm on Win XP 32 (which cannot run 64 bit executable)  and   MS VS 2008 (which doesn't recognize new solution file format)

[EDIT2]: BINGO ! I've built the source code from your attachment in MS VS Command Prompt with COMView makefile using JWASM :
Code: [Select]
NMAKE /F COMView.mak   
It would be great if you documented (if possible) those minor source code adjustments you've made
Below atached : 32 bit binary + PDB + listings = full debug info
« Last Edit: January 03, 2016, 04:01:58 AM by GoneFishing »

TouEnMasm

  • Member
  • *****
  • Posts: 1764
    • EditMasm
Re: WANTED COMViewSrc.ZIP
« Reply #25 on: January 03, 2016, 07:34:02 AM »

document the change,take too much time.
for example :ptr = DWORD if error at compile and so on.
Fa is a musical note to play with CL

GoneFishing

  • Member
  • *****
  • Posts: 1072
  • Gone fishing
Re: WANTED COMViewSrc.ZIP
« Reply #26 on: January 03, 2016, 07:38:44 AM »
OK, I'll let the command line tools find the differences
o = original , c = changed
Code: [Select]
Files c/CDocument.asm and o/CDocument.asm differ
Files c/CMainDlg.asm and o/CMainDlg.asm differ
Files c/COMView.asm and o/COMView.asm differ
Files c/COMView.inc and o/COMView.inc differ
Files c/EditDlg.asm and o/EditDlg.asm differ
================================================
sdiff -s ./o/CMainDlg.asm ./c/CMainDlg.asm
================================================
lea ecx,g_pObjects
      | lea ecx,ga_pObjects

mov ebx,g_pObjects
      | mov ebx,ga_pObjects

mov eax,g_pObjects
      | mov eax,ga_pObjects

================================================      
sdiff -s ./o/CDocument.asm ./c/CDocument.asm
================================================
mov ebx,g_pObjects
      | mov ebx,ga_pObjects

mov esi,g_pObjects
      | mov esi,ga_pObjects
     
================================================
 sdiff -s ./o/COMView.asm  ./c/COMView.asm
================================================      
     
      > PUBLIC ga_pObjects


      <
g_pObjects PVOID 0
      | ga_pObjects DD 0

lea ecx,g_pObjects
      | lea ecx,ga_pObjects

lea esi,g_pObjects
      | lea esi,ga_pObjects

================================================
 sdiff -s ./o/COMView.inc  ./c/COMView.inc
================================================
externdef g_pObjects:ptr
      | externdef ga_pObjects:DWORD

PVOID typedef ptr
      | PVOID typedef dword ;ptr

PBYTE typedef ptr byte
      | PBYTE typedef dword ;ptr byte

PSTR typedef ptr sbyte
      | PSTR typedef dword ;ptr sbyte

DLGPROC typedef proto :ptr, message:dword,wParam:dwor
      | DLGPROCA typedef proto :dword, message:dword,wParam:dw

PDLGPROC typedef ptr DLGPROC
      | PDLGPROC typedef ptr DLGPROCA

=================================================
 sdiff -s ./o/EditDlg.asm  ./c/EditDlg.asm 
=================================================
 
      > ;----------- ajout -------------

      > return macro x

      > ifnb <x>

      > if (OPATTR x) eq 4 ;;constant?

      >   if x

      > mov eax,x

      >   else

      > xor eax,eax

      >   endif

      > else

      > mov eax,x

      > endif

      > endif

      > ret

      > endm

      >

      > ;---------------------------------

.elseif
      | .else ;if

      > ;----------- ajout -------------

      > return macro x

      > ifnb <x>

      > if (OPATTR x) eq 4 ;;constant?

      >   if x

      > mov eax,x

      >   else

      > xor eax,eax

      >   endif

      > else

      > mov eax,x

      > endif

      > endif

      > ret

      > endm

      >

      > ;---------------------------------

.elseif
      | .else ;if


wayne

  • Regular Member
  • *
  • Posts: 3
Re: WANTED COMViewSrc.ZIP
« Reply #27 on: January 03, 2016, 02:28:30 PM »
Found these on a old CD.  I'll have to do 2 posts for file size.

wayne

  • Regular Member
  • *
  • Posts: 3
Re: WANTED COMViewSrc.ZIP
« Reply #28 on: January 03, 2016, 02:30:35 PM »
COMViewSrc help

_japheth

  • Member
  • **
  • Posts: 108
Re: WANTED COMViewSrc.ZIP
« Reply #29 on: January 03, 2016, 04:49:56 PM »
Hello,

here's the latest what I have found. It "should" assemble with both ML and jwasm (no guarantee!).

P.S.: the source needs the WinInc include files.

P.P.S: it has been compressed with 7z (to make it smaller than 512 kB). Original filename was "comviewsrc.7z"
Dummheit, gepaart mit Dreistigkeit - eine furchtbare Macht.