Convertion Steps. For Demo or if VB-Project is simple, the following steps can be used. Complex project needs more thoughtfull approach. Few-Clicks Steps Don't Think Select Converter Point menu/Source to VBP-source folder Don't Customize Convert by clicking on menu/Go If the goal is to obtain 1. HTML-templates, or 2. further conversion to PHP, then skip 'Edit', 'Add', and 'Recompile' steps. Check for converter warnings Find converted ASP-project and/or Dll-project Edit Dll-project, or (Re)compile converted Dll Edit ASP-project, or Add strings from ADD_TO_global.asa.txt Put RESULT_FILES\..._asp - folder to the web root and browse to myproject.asp, or Continue converting ASP-part to PHP using asp2php. Think All Out Programmer should be familiar with major sections in readme.htm Programmer should decide which options of vb2asp to use. The major options are: Variable Visibility. Variable Geometry. Wich form, modules, clases to expose-to-Web/convert and which not. How to deal, if Application has timers or depends on other processes. Apartment Threaded or Single Threaded. The minor options are described next to particular switch in schema. How to find vb2asp Converter in a fresh s2s-distributed package. If this readme is found in distribution package, the readear probably is already in the right folder tree. vb2asp is distibuted with template project ....\vb2asp\converter.prj which points to a schema main.htm which includes all subschemas of the converter. From menu\Project\Open user can open this file which makes converter ready to run. By default, the converter is pointed to demo application although user can repoint to any VB-project. Selecting source VB-Project for conversion It is important to know that menu\Source must be pointed to a folder where VB-project *.vbp file resides, not to *.vbp file itself. In case if folder contains few project files *.vbp, programmer can point to specific project by setting the switch: |=project_to_convert."..." If programmer does not do so, vb2asp picks up the first encountered project file and ignores others. Customizing Convertfer and Preparing VB Project for Conversion Seamless conversion strategy: VB-Project can be customized before conversion. For example, programmer can change application logic before and write all the wrappers to added to VB-Project file web_auxiliary.bas. (Not that which is in PoloshBench folder.) Make this modified Application workable. Clean up all bugs. Then using file-switch custom_projects\exclude_this_modules.txt exclude web_auxiliary.bas form conversion. The example of possible web_auxiliary.bas. Programmer can use supplied projects and schemas as template, copy-paste them to create own customized versions. There are perhaps two ways of customizing. If programmer does cosmetic changes for new projects, which changes affect mainly switches main.htm, main_aux.txt, ... then this files can be copy-pasted for new projects. If new project is a major development affecting all vb2asp schema, then the folder vb2asp can be copy-pasted with a new name vb2asp2 under the same root Examples. This instances Examples\vb2asp and Examples\vb2asp2 of vb2asp converter will be completely independent. The location under root Examples is significant only for documentaition, and has no importance for converter for wich vb2asp can be moved to any place. Programmer may want to do some modifications in VB-code which will be added during conversion. Part of this code is in PolishBench project, which can be used to "fish out" all mistakes. Timers and dependence on other processes If none of this, just ignore this section and use default switches. Otherwise, this may need manual work: Rudimentary constructs already can be used: in Interface to Dll: web_TimersCompleted in Function ExchangeData( ... TimersPreventDestroying, LetTimerComplete ... ) ... TimersPreventDestroying = Destroy_IfNoTimers in DllCallers.inc Subroutines giving timeslice to Dll to complete timers Switches Variable (dynamic) geometry and visibility Schema has an option to allow controls to change their position, shape, and visibility at run time if this is coded in original VB Application. This option requires extra data flow between ASP and dll. Disabling this feature simplifies resulted ASP and dll code and amount of data flow. Programmer maybe does not want to expose every form to the web, but still keep this form in the project. Detailed explanation how to do this is in schema main.htm. Setting conversion switches As other decent converters, vb2asp has switches to tell itself what and how to do. Where are this switches? In case of vb2asp, which is merely a schema, schema variables themselves are this switches. Some switches can be set at pre-conversion time. According schema-syntax, pre-conversion switches syntax is: |=variable.value No matter where in the code construct |=... appeares. (Of cource, except string constants "...|=... ".) It will be evaluated before s2s touches any vbp-source file. This constructs evaluated in order in which appear in schema. Where to find particular switch and its help to setup ... ... major parameters, ... startup scenario - main.htm ... geometry, visibility - main.htm custom_projects ... HTML styles - HTML_front_page.txt HTML_style_static.txt ... HTML layout - main.htm ... add more controls - ASSEMBLE_CONTROLS.txt for simple controls ... additional parameters - main.htm main_aux.txt ... additional asp project ... parameters - ASP_front_page.txt Check for Converter warnings This warnings can appear on console and in VB Result code. Meaning: *-* - needs programmer approval *!* - definitely needs manual work Where are Results? Running VB over converted code. In any case, this is a good idea to read the compiled project with VB IDE, and resave it. VB usually 'fixes' the project, updtates versions, and possibly finds errors. It is recommended: - to set project properties: ActiveX Dll and Apartment Threaded. - to be sure, that 'InterfaceToDll' class is Creatable and MultiUse: In VB6 IDE: Instancing Property is 5-MultiUse In VB4 IDE: Instancing Property is 2-Creatable Multiuse Public Property is True Single Threaded may be used for experiments. Editing after running converter General notes. All controls and their properties are indexed by master index. SSTab has additional master index trough all VB Project ranged from 0 to tabs_number-1. Properties transfer from web to asp and backward is not necessarily have the same index: for example text box value index in browser request may be 4 and value in response can be 5. Mapping between control's name/property and master index can be seen in html, asp pages, in vb-source code, or in files: RESULT_FILES/*_map.txt Schema adds few modules to the final VB Application: they are listed in "Prepasing VB-Form" section in VB_and_items.txt file. They all have prefix "web_". In general, schema adds some global variables and procedures to VB Application with prefix "web_" assuming that there won't be name confilict with existing names. If suspicious, programmer should chech for name conflict manually. Recompilation If WebServer still runs and bound with previously recompiled dll, it may not let to rebuild the dll again. Try full Web Server restart on Windows 98. Editing ASP When substituting insert_image_manually.gif, don't forget that IE can cach them: 'Delete all files' option may help. Global.asa Setting global.asa is required only for Dynamic scenario. Go to RESULT_FILES, take text from ADD_TO_global.asa and add it to a real global.asa This will "link" the dll to the web server. PWS or IIS may lock global.asa The similar steps may help. How to browse: Run in Preparsed or Dynamic scenarios