'Runtime Exception Clarion 10 Gold


#1

I have an earlier post about all the problems I was having with getting the dlls to make well I wish to report today that is all fixed, I had a lot of errors to cleanup on the main .exe and when I get everything cleaned up and ready to run I hit a Runtime Exception and I’ve never had that happen before, here’s what it says:

Exception occurred at address 004080B6
Exception code C0000005: Access Violation
Process PID=12304 Image: C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.Exe
Thread 1 Handle=00000274 TID=3980

Exception parameters:
00000000
00000000

EAX=00000000 EBX=0019FEA4 ECX=004F8314 EDX=00000000
ESI=00F727E8 EDI=0019FEC0 EBP=0019FE38 ESP=0019FE0C
EIP=004080B6 FLG=00010212

Call Stack:
004080B6
0040699E
004084AF
010CD121
77BD662D
77BD65FD

I don’t have a clue with this so If anyone has anything to help out here I would appreciate it very much, I’ll take any help I can get, I read the help file but that didn’t help me much, I’m so close to having the conversion from C63 To Clarion 10 done I hope and what a bummer I get this.

Thanks in advance

James Allen


#2

Usually this means dll version mismatch, check out that all dlls rebuilt in same Clarion version.


#3

Hey Mike,

Thanks for responding, appreciate it. I had a tip on that one earlier from someone else and I’m in process of doing that now. I’ve cleaned up all these dlls before but this time I’ll get the magnifying glass out. Windows 10 Pro was trying to help get it to run it kelp giving me all these tips to try, first time I’ve seen that, we’ll see how it goes.

Thanks
James Allen


#4

Hey Folks,

I’ve gone through every dll and cleaned and recompiled, copied all the dlls to the main exe app. One thing I noticed here, I could not paste a new dll into the main app with a later date and time it would not show the new time and date, the only way I could get it to take the late date and time was to delete the old file, refresh and then do the paste, I don’t ever remember that before. I’m using a iMac with Windows 10 Pro on a VM using Parallels.

I have one dll that giving me a message I’ve not seen before, maybe someone has and can help me get this last thing out of the way and get this thing running. Here’s the error repeated 10 times.
Indistinguishable new prototype: MDPGLOBX:INIT - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:107

If you think of something let me know I would appreciate it.

James Allen


#5

Maybe post the offending module or at least the line(s) that are giving you the compile error?

Are you using any 3rd party add-ons?


#6

Hey Jeff,

Here’s what shows in the Mdp505.clw,which is the main exe app.

    MODULE('C:\CLARION10APPS\MDP50ABC\MDPGLOB5\OBJ\RELEASE\MDPGLOBX.DLL')

MdpGlobx:Init          PROCEDURE(<ErrorClass curGlobalErrors>, <INIClass curINIMgr>),DLL
MdpGlobx:Kill          PROCEDURE,DLL

Indistinguishable new prototype: MDPGLOBX:INIT - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:107 and here’s the error times 10. This is all i have, these messages are so cryptic.

With your experience I’m sure you have seen all this before, Lee White says you can break anything, great hearing from you, been following your post for years and you didn’t even know it.

Thanks for the help

James


#7

Hi James -

Did you add the ** ?

Is there another occurrence (or more) of MdpGlobx:Init in your map?
I haven’t seen that happen before. The “(,)” in the prototype seems unusual, but I don’t know what would cause it.


#8

Hey Jeff.

Here’s all 10 of the errors straight out of the box.

Indistinguishable new prototype: MDPGLOBX:INIT - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:107

Indistinguishable new prototype: MDPGLOBX:INIT - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:107

Indistinguishable new prototype: MDPGLOBX:INIT - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:107

Indistinguishable new prototype: MDPGLOBX:INIT - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:107

Indistinguishable new prototype: MDPGLOBX:INIT - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:107

Indistinguishable new prototype: MDPGLOBX:KILL - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:108

Indistinguishable new prototype: MDPGLOBX:KILL - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:108

Indistinguishable new prototype: MDPGLOBX:KILL - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:108

Indistinguishable new prototype: MDPGLOBX:KILL - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:108

Indistinguishable new prototype: MDPGLOBX:KILL - C:\Clarion10Apps\Mdp50Abc\Mdp50\MDP505.clw:108

The only 3rd Party templates are FM3, RPM, CRT/CPCS, I had stripped out other 3rd Party templates back when I did the conversion years ago, I’m just now getting back into this and man am I green.
Here’s the Main .exe clw the errors are showing at line 107/108, maybe this will shed some light and I didn’t add any characters to any of the stuff just plain copy/paste.

   PROGRAM


INCLUDE   ('Mdp_Equ.clw'



   INCLUDE('ABERROR.INC'),ONCE
   INCLUDE('ABFILE.INC'),ONCE
   INCLUDE('ABUTIL.INC'),ONCE
   INCLUDE('ERRORS.CLW'),ONCE
   INCLUDE('KEYCODES.CLW'),ONCE

   MAP
     MODULE('MDP505_BC.CLW')
DctInit     PROCEDURE                                      ! Initializes the dictionary definition module
DctKill     PROCEDURE                                      ! Kills the dictionary definition module
     END
    MODULE('C:\CLARION10APPS\MDP50ABC\MDPGLOB5\OBJ\RELEASE\MDPGLOBX.DLL')
BrowseAcheaders        PROCEDURE,DLL                       ! 
BrowseAiaDivisions     PROCEDURE,DLL                       ! 
BrowseCompany          PROCEDURE,DLL                       ! 
BrowseContractorType   PROCEDURE,DLL                       ! 
BrowseCostCode         PROCEDURE,DLL                       ! 
BrowseDepartments      PROCEDURE,DLL                       ! 
BrowseEmployees        PROCEDURE,DLL                       ! 
BrowseEquipType        PROCEDURE,DLL                       ! 
BrowseGroups           PROCEDURE,DLL                       ! 
BrowseIdentify         PROCEDURE,DLL                       ! 
BrowseLaborTypes       PROCEDURE,DLL                       ! 
BrowseManufacture      PROCEDURE,DLL                       ! 
BrowseNames            PROCEDURE,DLL                       ! 
BrowseState            PROCEDURE,DLL                       ! 
BrowseStores           PROCEDURE,DLL                       ! 
BrowseTrucks           PROCEDURE,DLL                       ! 
BrowseVendor           PROCEDURE,DLL                       ! 
BrowseWork             PROCEDURE,DLL                       ! 
RptAllIdentifier       PROCEDURE,DLL                       ! 
RptContractorTypes     PROCEDURE,DLL                       ! 
RptCostCode            PROCEDURE,DLL                       ! 
RptDepartment          PROCEDURE,DLL                       ! 
RptEquipManufactures   PROCEDURE,DLL                       ! 
RptStates              PROCEDURE,DLL                       ! 
RptStoreList           PROCEDURE,DLL                       ! 
RptTruckInfo           PROCEDURE,DLL                       ! 
RptVendorName          PROCEDURE,DLL                       ! 
    END
    MODULE('C:\CLARION10APPS\MDP50ABC\MDPCALL5\OBJ\RELEASE\MDPCALLX.DLL')
BrowseCalls            PROCEDURE,DLL                       ! 
BrowseCharges          PROCEDURE,DLL                       ! 
BrowseTotLabCharges    PROCEDURE,DLL                       ! 
MenuRptCall            PROCEDURE,DLL                       ! 
MenuRptCallAssigned    PROCEDURE,DLL                       ! 
MenuRptLabor           PROCEDURE,DLL                       ! 
    END
    MODULE('C:\CLARION10APPS\MDP50ABC\MDPGLOB5\OBJ\RELEASE\MDPGLOBX.DLL')
BrowseFreon            PROCEDURE,DLL                       ! 
BrowseTypFreon         PROCEDURE,DLL                       ! 
MenuRptFreon           PROCEDURE,DLL                       ! 
    END
    MODULE('C:\CLARION10APPS\MDP50ABC\MDPPURO5\OBJ\RELEASE\MDPPUROX.DLL')
BrowseBillTo           PROCEDURE,DLL                       ! 
BrowsePoDescriptions   PROCEDURE,DLL                       ! 
BrowsePoHeader         PROCEDURE,DLL                       ! 
BrowsePoQbe            PROCEDURE,DLL                       ! 
BrowsePoShort          PROCEDURE,DLL                       ! 
BrowsePoTerms          PROCEDURE,DLL                       ! 
BrowsePoTypes          PROCEDURE,DLL                       ! 
BrowseShipVia          PROCEDURE,DLL                       ! 
MenuRptPo              PROCEDURE,DLL                       ! 
RptPoItemDescriptions  PROCEDURE,DLL                       ! 
    END
    MODULE('C:\CLARION10APPS\MDP50ABC\MDPCMP5\OBJ\RELEASE\MDPCMPX.DLL')
BrowseCompressorUse    PROCEDURE,DLL                       ! 
MenuRptCompressor      PROCEDURE,DLL                       ! 
    END
    MODULE('C:\CLARION10APPS\MDP50ABC\MDPTRAN5\OBJ\RELEASE\MDPTRANX.DLL')
BrowseTHead            PROCEDURE,DLL                       ! 
LookUpInvoice          PROCEDURE,DLL                       ! 
MenuRptTransmittal     PROCEDURE,DLL                       ! 
MenuRptTransmittalContinued PROCEDURE,DLL                  ! 
    END
    MODULE('C:\CLARION10APPS\MDP50ABC\MDPINVN5\OBJ\RELEASE\MDPINVNX.DLL')
BrowseIvHeader         PROCEDURE,DLL                       ! 
    END
    MODULE('C:\CLARION10APPS\MDP50ABC\MDPEQIP5\OBJ\RELEASE\MDPEQUIX.DLL')
BrowseEquipmentTracking PROCEDURE,DLL                      ! 
MenuRptEquipment       PROCEDURE,DLL                       ! 
    END
    MODULE('C:\CLARION10APPS\MDP50ABC\MDPTIME5\OBJ\RELEASE\MDPTIMEX.DLL')
BrowseLaborHeaders     PROCEDURE,DLL                       ! 
    END
!--- Application Global and Exported Procedure Definitions --------------------------------------------
     MODULE('MDP505001.CLW')
Main                   PROCEDURE   !Maintenance Program
     END
    ! Declare init functions defined in a different dll
     MODULE('C:\CLARION10APPS\MDP50ABC\MDPGLOB5\OBJ\RELEASE\MDPGLOBX.DLL')
MdpGlobx:Init          PROCEDURE(<ErrorClass curGlobalErrors>, <INIClass curINIMgr>),DLL
MdpGlobx:Kill          PROCEDURE,DLL
     END
     MODULE('C:\CLARION10APPS\MDP50ABC\MDPCALL5\OBJ\RELEASE\MDPCALLX.DLL')
MdpCallx:Init          PROCEDURE(<ErrorClass curGlobalErrors>, <INIClass curINIMgr>),DLL
MdpCallx:Kill          PROCEDURE,DLL
     END
     MODULE('C:\CLARION10APPS\MDP50ABC\MDPGLOB5\OBJ\RELEASE\MDPGLOBX.DLL')
MdpGlobx:Init          PROCEDURE(<ErrorClass curGlobalErrors>, <INIClass curINIMgr>),DLL
MdpGlobx:Kill          PROCEDURE,DLL
     END
     MODULE('C:\CLARION10APPS\MDP50ABC\MDPPURO5\OBJ\RELEASE\MDPPUROX.DLL')
MdpPurox:Init          PROCEDURE(<ErrorClass curGlobalErrors>, <INIClass curINIMgr>),DLL
MdpPurox:Kill          PROCEDURE,DLL
     END
     MODULE('C:\CLARION10APPS\MDP50ABC\MDPCMP5\OBJ\RELEASE\MDPCMPX.DLL')
MdpCmpx:Init           PROCEDURE(<ErrorClass curGlobalErrors>, <INIClass curINIMgr>),DLL
MdpCmpx:Kill           PROCEDURE,DLL
     END
     MODULE('C:\CLARION10APPS\MDP50ABC\MDPTRAN5\OBJ\RELEASE\MDPTRANX.DLL')
MdpTranx:Init          PROCEDURE(<ErrorClass curGlobalErrors>, <INIClass curINIMgr>),DLL
MdpTranx:Kill          PROCEDURE,DLL
     END
     MODULE('C:\CLARION10APPS\MDP50ABC\MDPINVN5\OBJ\RELEASE\MDPINVNX.DLL')
MdpInvnx:Init          PROCEDURE(<ErrorClass curGlobalErrors>, <INIClass curINIMgr>),DLL
MdpInvnx:Kill          PROCEDURE,DLL
     END
     MODULE('C:\CLARION10APPS\MDP50ABC\MDPEQIP5\OBJ\RELEASE\MDPEQUIX.DLL')
MDPEQUIX:Init          PROCEDURE(<ErrorClass curGlobalErrors>, <INIClass curINIMgr>),DLL
MDPEQUIX:Kill          PROCEDURE,DLL
     END
     MODULE('C:\CLARION10APPS\MDP50ABC\MDPTIME5\OBJ\RELEASE\MDPTIMEX.DLL')
MDPTIMEX:Init          PROCEDURE(<ErrorClass curGlobalErrors>, <INIClass curINIMgr>),DLL
MDPTIMEX:Kill          PROCEDURE,DLL
     END
   END

bFileOpenMode        BYTE
GLO:UsePreview       BYTE
DataPath             STRING(165)
ASCIIFileName        CSTRING(80)
DateFrom             LONG
DateThru             LONG
Workfile             &FILE
SilentRunning        BYTE(0)                               ! Set true when application is running in 'silent mode'

!region File Declaration
REG                  FILE,DRIVER('TOPSPEED'),RECLAIM,PRE(REG),CREATE,BINDABLE,THREAD,EXTERNAL(''),DLL(dll_mode) !                     
Record                   RECORD,PRE()
Company                     STRING(45)                     ! Company Name        
User                        STRING(35)                     ! User Name           
Addr1                       STRING(45)                     ! Address             
Addr2                       STRING(45)                     ! Address             
City                        STRING(25)                     ! City                
State                       STRING(4)                      ! State               
PostalCode                  STRING(14)                     ! Postal Code         
Country                     STRING(20)                     ! Country             
ShipRegion                  STRING(25)                     ! Geographic Shipping Region
Phone                       STRING(20)                     ! Telephone Number    
Phone2                      STRING(20)                     ! Telephone Number    
Fax                         STRING(20)                     ! Fax Number          
Email                       STRING(40)                     ! Preferred Email Adderss
CCType                      STRING(8)                      ! Credit Card         
CCNumber                    STRING(20)                     ! Credit Card Number  
CCExpires                   LONG                           ! Credit Card Expiration
CardHolderName              STRING(40)                     ! Cardholder Name - Exactly as on card
CardBillAddress1            STRING(40)                     ! Cardholder Billing Address
CardBillAddress2            STRING(40)                     ! Cardholder Billing Address
CardBillCity                STRING(25)                     ! City                
CardBillState               STRING(4)                      ! State               
CardBillPostalCode          STRING(14)                     ! Postal Code         
CardBillCountry             STRING(20)                     ! Country             
ObtainedFrom                STRING(10)                     ! Where FleetStar Was Obtained From
OtherSource                 STRING(40)                     ! Name of other source
Quantity                    SHORT                          ! Number of copies ordered
OverNight                   BYTE                           ! Ship via next day or 2nd day air
OverNightChg                DECIMAL(8,2)                   ! Overnight express charges
DiskType                    STRING(11)                     ! Diskette Preference 
Product                     STRING(20)                     ! Product Selection   
MultiUser                   BYTE                           ! Multi-user Option   
SftwMaint                   BYTE                           ! Software Maintenance Option
SalesTax                    DECIMAL(6,2)                   ! Sales Tax           
Shipping                    DECIMAL(6,2)                   ! Shipping Charges    
ProductTotal                DECIMAL(7,2)                   ! Product Total       
OrderTotal                  DECIMAL(10,2)                  ! Order Total         
                         END
                     END                       

Config               FILE,DRIVER('TOPSPEED'),RECLAIM,PRE(CFG),BINDABLE,CREATE,THREAD,EXTERNAL(''),DLL(dll_mode) !                     
Record                   RECORD,PRE()
Commport                    STRING(4)                      !                     
DialTime                    BYTE                           !                     
                         END
                     END                       

!endregion

Access:REG           &FileManager,THREAD                   ! FileManager for REG
Relate:REG           &RelationManager,THREAD               ! RelationManager for REG
Access:Config        &FileManager,THREAD                   ! FileManager for Config
Relate:Config        &RelationManager,THREAD               ! RelationManager for Config

GlobalErrorStatus    ErrorStatusClass,THREAD
GlobalErrors         ErrorClass                            ! Global error manager
INIMgr               INIClass                              ! Global non-volatile storage manager
GlobalRequest        BYTE(0),THREAD                        ! Set when a browse calls a form, to let it know action to perform
GlobalResponse       BYTE(0),THREAD                        ! Set to the response from the form
VCRRequest           LONG(0),THREAD                        ! Set to the request from the VCR buttons

Dictionary           CLASS,THREAD
Construct              PROCEDURE
Destruct               PROCEDURE
                     END


  CODE
  HELP('MDP202.HLP')                                       ! Open the applications help file
  GlobalErrors.Init(GlobalErrorStatus)
  INIMgr.Init('.\MDP505.INI', NVD_INI)                     ! Configure INIManager to use INI file
  DctInit()
  Main
  INIMgr.Update
  INIMgr.Kill                                              ! Destroy INI manager


Dictionary.Construct PROCEDURE

  CODE
  IF THREAD()<>1
     DctInit()
  END


Dictionary.Destruct PROCEDURE

  CODE
  DctKill()

Thanks for your help
James Allen


#9

Jeff,

I hadn’t even gotten around to looking in the map file but here’s the only line in the whole map file, strange.

File not found or cannot be open: MdpGlobx.lib

How can this be the MdpGlobx.dll is in the main exe app, I have the MdpGlobx.lib path set back to the obj\release, what’s up?
James

James


#10

In this app, if you look at the “Module” view, do you see the MDPGLOBX module listed more than once? If so, try removing the dupe(s)

Did you rename your apps for this conversion? If so, how did you do it?


#11

Hey Jeff,

I went through the Module view several time and checked all 10 dll, there is no duplication that I can see, if it’s there and duplicated I can’t find it.

As to the renaming of the modules this has been so long ago I don’t remember for sure, I think what I did when going through the converter in c63 I changed the last letter or number to an “x” just to let me know that was the (ABC) converted app, a no no huh?
I’ll keep looking to see what I can find had to bail out yesterday and take the wife to the doctor. I have been away from the stuff so long, I’m retired and some folks called me and wants to buy my old software company so I gotta get this thing running, it’s coming back with the help of good folks.

Appreciate the help

James Allen


#12

Hi James,

As Jeff says you have two MDPGLOBX DLLs in your solution.
Each DLL gets (by default) an :Init and a :Kill procedure - so that’s why you’re getting the duplicate errors on
MDPGLOBX:Init and MDPGLOBX:Kill

Duplicates.clw (601 Bytes)

Delete the smaller one and re-insert the 3 procedures into the larger ie
BrowseFreon, BrowseTypFreon and MenuRptFreon

Graham