~~ODT~~

====== Jas dlls ======

===== 2025 01 30 =====

  * the image I have been working with has been 64 bits all along, so I wasted my time trying to recreate a 32 bit dll using vs 2015
  * I was once able to read pamresources.dll with this image, but I can no longer do so.
  * I thought I corrupted the original dlls.icx, so I created dlls2 and dlls3 images
  * neither one works even if I run just once after importing the needed maps.
  * I mis-spelled aModuleName := 'pamRebbbsources.dll' and dlls.ws still ran to completion.
  * I renamed pamresouces.dll to pamXXXresources.dll in the progFiles *x64) directy and dlls.ws still ran
  * class variable iconCache in PamIcon starts off as and empty LookupTable.
  * To do: run dlls.ws in a good Jas Dev JSO x86 image.

===== 2025 01 28 =====

  * used res hacker to dump contents of the good pamresources.dll to pamresources.rc
  * edited pamresources.rc and commented out the first line about LANGUAGE
  * following this https://www.codeproject.com/Tips/5349617/Creating-a-Resource-Only-DLL
  * created a new project that is a dll and an empty project. saved it.
  * add - > existing item added pamresources.rc
  * under Project -> propertied -> linker -> advanced chnnged entry point to NOENTRY
  * build solution created a new win32project3.dll of size 168 kb that looks ok in Res Hacker
  * but the good pamresources.dll is 245K.
  * the dlls.ws not longer works. I think I toasted my image.
  * TO DO: use a jas open image and force a reload of the dll.
  * modify PamHolder class>>loadModuleNamed: aModuleName notifyWindow: aWindow

===== 2025 01 23 =====

  * Several days of trying to get VS 2022 to do anything dll got nowhere.
  * Downloaded and installed VS 2025 which has a simpler interface and some Internet help I found.
  * Both VS installs take hours with no visual updates.
  * But VS 2015 does not display some of the screens necessary to create a project. I suspect this is a Win 11 problem, The solution is a Win 7 or a Win 8 machine which could be used in the future.
  * VS 2015 would not install on Chuck's Vista machine. Vista is between XP and 7.
  * VS 2015 did install on my Lenovo with Win 8.1.
  * VS 2015 needs two files documented in picture vs2015.png in C:\Users\donald\Pictures\000craigslist.

  * created a pamresources.dll using VS 2015 and the non-Smalltalk source code/pamresources.rc as input.
  * The pamresource.dll created is NOT the same as the real on and it is NOT a resource dll. It has a menu!
  * Todo: try decomposing the real pamresources.dll using res hacker and the using that .rc file and the icons in VS 2015.

===== 2025 01 17 =====

  * Res Hacker can save the contents of a dll to an .rc or .res file
  * under action, selecting save all resources saves the icons as individual files and creates an .rc file like this: //1000 ICON "ICON1000_1.ico"//
  * An .rc file is a Resource Script. 
  * dlls.ws will read the 89 icons in pamresource.dll of 2007 in an x86 image.
  * dlls.ws does not read any icons in either the x86 or x64 dlls in an x64 image.
  * The x64 pamresource.dll created by the z:jas code is NOT the same and it is NOT a resource dll. It has a **menu**!
  * Try using the z:jas project in VS2022 on the icons and .rc files in \temp\jasDlls

===== 2025 01 16 =====

  * Z:\Jas\JSO\Non-Smalltalk Source Code\pamResources C++ 2010 has a VS project file that I was able to load and upgrade
  * A build prodcued a 32 bit dll.
  * Changing the target to x64, VS produced a 64 bit dll
  * Need unit tests in VAST 32 and Vast 64

===== To Do =====

  * get all the dlls from a clean vast 9.2 install and identify **DONE**2025 01 17
  * get all the dlls from JasDev in both progFilesx86 and programData and identify **DONE**
  * Look on Chuck's Vista machine for libGrib.dll and/or *.grb files
  * Get a list of all Jas dlls on Chuck's Vista machine.
  * Try to read all icons, and bitmaps in a 64 bit image using PamIconHolder class LoadModuleNamed:notify: 
  * Run Jas in open image and put breakpoint in gribLibPath **DONE** Never hit
  * Run VP and confirm that  ANLMagnitudes.dll, anlutils.dll, CgeoObject.dll, GeoProjections.dll, and GeoViewer.dll are used. **DONE** All but ANLMagnitudes are used by VP.
  * Start JasDevJso, run sim and confirm that ANLMagnitudes.dll, anlutils.dll, CgeoObject.dll, GeoProjections.dll, and GeoViewer.dll are used **DONE** none of these dlls are used by the sim.





====== Dlls ======

===== AnlMagnitudes.dll =====

  * No references in Sim, VP, or Hci code.
  * All run fine without it. 
  * No source.

===== AnlUtils.dll =====

  * Used by VP only. 
  * No source

===== GcsPrimitives.dll =====

  * Used by Sim. 
  * required by JwCoordinateSystem class>readerinitWith: 
  * There is source code at \jas\JSO\Non-Smalltalk Source Code\gcsPrimitives_A

===== CGeoObject.dll =====

  * used by Video Playback to read .gis files
  * primitives are in GisTranslatorExternalSupport class
  * no source

===== GeoProjections.dll =====

  * used by Video Playback.
  * primitives are in GeoProjectionExternalSupport class
  * no source

===== GeoViewer.dll =====

  * used by Video Playback.
  * primitives are in GisTrabnslatorExternalSupport class
  * no source
===== jasGraphics.dll =====

  * 500+ icons and bitmaps referenced by a 4 digit id starting at 1.
  * a symbol to id table is in a pool dictionary in PamKernel class.
  * Example: PamIcon fromModule 'jasGraphics.dll' id 99.
  * PamIconHolder class LoadModuleNamed:notify: does the load
  * source at \jas\JSO\Non-Smalltalk Source Code\working_jas_graphics


===== jasMapIcons.dll =====

  * 700+ icons referenced by a 4 digit id starting at 1000.
  * a symbol to id table is in a pool dictionary in PamKernel class.
  * PamIconHolder class LoadModuleNamed:notify: does the load
  * source at \jas\JSO\Non-Smalltalk Source Code\working_jas_graphics

===== jasMilGraphics.dll =====

  * 250+ bitmaps referenced by a 4 digit id starting at 1000.
  * a symbol to id table is in a pool dictionary in PamKernel class.
  * PamIconHolder class LoadModuleNamed:notify: does the load
  * source at \jas\JSO\Non-Smalltalk Source Code\working_jas_graphics

===== jwarsResource.dll =====

  * No references in Sim, VP, or Hci code.
  * All run fine without it.




===== libGRIB.dll =====

  * referenced in EnvironmentScenario»gribLibPath
  * Found libGRIB.dll from 2004, but no .grb files.
  * has to do with JwDataObject subclass EnvironmentScenarioParameter
  * sqlplus says ENV_SCENARIO_PARAM has 110 rows.
  * Put breakpoint in libGribPath, ran Jas, breakpoint never fired.
  * Dave Cedel wrote some of the original code in 2001.
===== libJSAF.dll =====
 
  * Global Coordinate System code required by all
  * required by JwCoordinateSystem class>readerinitWith:. 
  * There is source code at \jas\JSO\Non-Smalltalk Source Code\JSAF_5.24_A

===== libMI.dll =====

  * Movement Infrastructure.
  * 24 Platform Functions defined in JwAbstractMovementInfrastructure class.
  * have the source. \jas\JSO\Non-Smalltalk Source Code\libmi

===== libSLAC.dll =====

  * used by the sim in IlluminationServerManager.
  * have the source. \jas\JSO\Non-Smalltalk Source Code\slac

===== pamResources.dll =====

  * 2025 01 16
  * Z:\Jas\JSO\Non-Smalltalk Source Code\pamResources C++ 2010 has a VS project file that I was able to load and upgrade
  * A build prodcued a 32 bit dll.
  * Changing the target to x64, VS produced a 64 bit dll
  * Need unit tests in VAST 32 and Vast 64

  * 250+ bitmaps referenced by a 4 digit id starting at 1000.
  * a symbol to id table is in a pool dictionary in PamKernel class.
  * Example: PamIcon fromModule: 'pamResources.dll' id: 1102.
  * PamIconHolder class LoadModuleNamed:notify: does the load,
  * source at \jas\JSO\Non-Smalltalk Source Code\working_pam

===== pg32.dll =====

  * [[pg32|pg32.dll]]
  * used by the Hci

===== RTIVast.dll =====

  * no source
  * Ron Painter would know

===== WindowBuilder =====

  * WindowBuilder does **not** use any dlls.
  * Widget Kit/Business Graphics last update 2007 and requires WindowBuilder
  * WK/BG has only pg32.dll
  * Widget Kit pro uses SS32D25.DLL, EDT32D20.DLL, FCC32D15.DLL, WKSSP32.EXE & WKSSPD32.DLL

====== Apps ======

===== Hci =====

  * jasGraphics.dll
  * jasMapIcons.dll
  * jwarsResources.dll
  * libGrib.dll
  * libMI.dll
  * libSlac.dll
  * netapi32.dll
  * pamresources.dll
  * [[pg32|pg32.dll]]
  * RTIVast.dll






===== Jacs =====

  * uses shell32.dll

===== Sim =====

  * HPACTool.dll
  * jasGraphics.dll
  * jasMapIcons.dll
  * jwarsResources.dll
  * libGrib.dll 
  * libMI.dll
  * libSlac.dll
  * netapi32.dll
  * pamresources.dll
  * [[pg32|pg32.dll]]
  * RTIVast.dll

===== VP =====

  * ANLMagnitudes.dll 
  * anlutils.dll 
  * CgeoObject.dll 
  * GeoProjections.dll 
  * GeoViewer.dll
  * jasGraphics.dll
  * jasMapIcons.dll
  * jasMilGraphics.dll
  * pamResources.dll

