home *** CD-ROM | disk | FTP | other *** search
-
- ΓòÉΓòÉΓòÉ 1. Special Notices ΓòÉΓòÉΓòÉ
-
- References in this help to IBM products, programs, or services do not imply
- that IBM intends to make these available in all countries in which IBM
- operates.
-
- Any reference to an IBM licensed program in this help is not intended to state
- or imply that only IBM's licensed program may be used. Any functionally
- equivalent product, program, or service that does not infringe any of IBM's
- intellectual property rights may be used instead of the IBM product, program,
- or service.
-
- Evaluation and verification of operation in conjunction with other products,
- except those expressly designated by IBM, is the user's responsibility.
-
- IBM may have patents or pending patent applications covering subject matter in
- this help. The furnishing of this help does not give you any license to these
- patents.
-
- The following terms, denoted by an asterisk (*) in this help, are trademarks of
- the IBM Corporation in the United States and/or other countries:
-
- C/2
- C Set/2
- IBM
- OS/2
- Operating System/2
- Presentation Manager
- WorkFrame/2
-
- This help contains examples of data and reports used in daily business
- operations. To illustrate them as completely as possible, the examples include
- the names of individuals, companies, brands, and products. All of these names
- are fictitious and any similarity to the names and addresses used by an actual
- business enterprise is entirely coincidental.
-
-
- ΓòÉΓòÉΓòÉ 2. ΓòÉΓòÉΓòÉ
-
-
- ΓòÉΓòÉΓòÉ 3. Γûá IBM WorkFrame/2* Concepts ΓòÉΓòÉΓòÉ
-
-
- ΓòÉΓòÉΓòÉ 4. IBM WorkFrame/2* Concepts ΓòÉΓòÉΓòÉ
-
- The IBM WorkFrame/2* program (also referred to as the WorkFrame/2*) provides a
- programming environment that lets you:
-
- o Manage a group of files as a project .
- o Associate a language profile with your project to describe the compiler,
- linker, debugger, and make utility to use.
- o Integrate your own tools.
- o Use a mouse to directly manipulate items.
- o Customize the environment to suit your own needs.
-
- These features help to streamline the development cycle under the WorkFrame/2*
- product.
-
-
- ΓòÉΓòÉΓòÉ 4.1. Projects ΓòÉΓòÉΓòÉ
-
- Instead of working with individual files and directories, the WorkFrame/2*
- product uses projects.
-
- A project consists of a collection of related files within a directory and its
- characteristics. These characteristics include a set of options for compiling,
- linking, making, debugging, and running your program, as well as a language
- profile.
-
- To begin actual development using the WorkFrame/2* product, the first thing you
- must do is create a project. Use the Project Control option from the File
- pulldown to display the Project Control window. Use the New pushbutton to
- create a new project.
-
- You can create two types of projects: base and composite. A base project is
- generally used to group the set of files used to build a single executable
- module or DLL. A composite project is simply a collection of other base and/or
- composite projects that allow you to build more complex applications involving
- multiple executable modules or DLLs.
-
- You can create several projects with the same project directory and target
- file, and vary other characteristics to tailor each project to a different
- stage of the program's development. For example, you can associate a different
- set of options to each project to create a debugging version, a test version,
- and a finished version of the same program.
-
-
- ΓòÉΓòÉΓòÉ 4.2. Language Profiles ΓòÉΓòÉΓòÉ
-
- Each base project you develop must have an associated language profile. The
- language profile defines a number of things, including:
-
- o The compiler, linker, debugger, and make utility to be used with the
- project.
- o The files (DLLs) that provide options for the above tools.
- o The default argument string used when invoking the make and debug tools.
- o The include and library search paths.
-
- Language profiles can be identified by the .PRF file extension.
-
- Use the Language profile management option from the Tools pulldown to create
- and modify your language profiles.
-
- The WorkFrame/2* product provides a default language profile that you can
- modify for use with most compilers. Some products may provide their own
- language profiles.
-
-
- ΓòÉΓòÉΓòÉ 4.3. The Development Cycle ΓòÉΓòÉΓòÉ
-
- This section presents an overview of how you use the WorkFrame/2* to develop an
- application.
-
- Notes
-
- o Before you begin creating applications, you should first decide how your
- existing files and directories will map into WorkFrame/2* projects, both
- base and composite.
- o To perform the steps outlined in this section, you must have a compiler,
- linker, debugger, and make utility installed. You must also have a language
- profile that specifies each of these tools.
-
- 1. The first step is to create a project. If the Project Control window is
- not already displayed, select Project Control from the File pulldown.
- Click on New from the Project Control window, and specify the
- characteristics you want to associate with the project.
-
- 2. When you have specified the project characteristics, click on OK in the
- Create window. The new project name appears in the Project Control window.
- Then click on Cancel to close the New Project window.
-
- 3. To open or display your new project, select the project name and then
- click on Open, or double-click on the project name. If the project is a
- base project, a window appears with a list of the project files. If the
- project is a composite project, the window contains a list of the
- subprojects that make up the composite project. The following steps assume
- the project is a base project.
-
- 4. If your project already contains some files, you can proceed to the next
- step. If you want to create a new source file, click on New from the
- project window. You are prompted for a file name, and the editor is
- invoked automatically. Once you have saved and closed your file, click on
- Refresh to refresh the project window (the window is not automatically
- refreshed after every action is completed).
-
- 5. Use the Actions pulldown to create your target file. You can select Build
- or Make to create the file in one step, or use Compile and Link to compile
- and link separately. A monitor window displays the messages and results of
- the action.
-
- If you are compiling, linking, or building, select the file or files in
- the base project window before performing the action.
-
- Note: The invocation of the Make action requires a make file. If a make
- file does not exist for the project and you want to create one,
- select Make File Creation from the Tools pulldown. You can specify
- the actions you want the make file to perform, and the compile and
- link options you want used. If you do not specify any options
- here, the make file uses the options associated with the project.
-
- 6. Run your application by selecting Run from the Actions pulldown, or by
- double-clicking on the executable file in the project window.
-
- 7. Use Debug from the Actions pulldown to invoke the debugger and debug your
- target file if it is an executable program.
-
- Note: If your compiler or linker has options to generate debug
- information, you must set them on to be able to debug your program if it
- is an executable file.
-
- 8. If the application is a tool, you can then use the Configure pulldown to
- add it to the WorkFrame/2* New Tools window, where you can access it from
- a pulldown menu. You can also drag the project from the Project Control
- window to the Tools list.
-
- 9. When the tool or application is no longer needed, you can delete it from
- the Tools list, and then delete the project itself from the Project
- Control window.
-
-
- ΓòÉΓòÉΓòÉ 4.4. Customizing the Environment ΓòÉΓòÉΓòÉ
-
- You can change the WorkFrame/2* appearance to fit your own needs. Use your
- mouse or keyboard to change the size, shape, and positions of both the main
- window and title bar and of the secondary windows.
-
- Use the Configure pulldown menu to further customize your environment. You can
- specify the editor you want to use, the tools you want in your Tools list, and
- the sessions to include in the Switch List.
-
- You can change the client area to a different color or to a bitmap, and set the
- colors and fonts for the different list boxes.
-
- You can also customize the sound and animation features, how you want tools and
- monitor windows to appear, and how your window positions are saved.
-
- You can save your customized changes with the Save Settings pulldown item.
-
-
- ΓòÉΓòÉΓòÉ 4.5. Integrating Tools ΓòÉΓòÉΓòÉ
-
- Use the Tools option from the Configure pulldown to add or delete tools in the
- Tools pulldown.
-
- You can also use this option to change the characteristics assigned to existing
- tools.
-
-
- ΓòÉΓòÉΓòÉ 4.6. Hints on Using Your Mouse ΓòÉΓòÉΓòÉ
-
- The WorkFrame/2* interface offers some features that are ideal for mouse users.
- In most windows, you can double-click on an item to perform actions. For
- example, double-click
-
- o On a source file to invoke the editor.
- o On an executable to run the program.
- o On an object file within the LIB utility window to show details of the
- object module.
-
- You can use dragging to copy and delete files, or to copy the characteristics
- of a project or tool to another project or tool. For example, you can delete
- a file by dragging it to the Waste icon.
-
- You can also change the size of a window by dragging its borders, or move the
- window by dragging the title bar.
-
-
- ΓòÉΓòÉΓòÉ 5. ΓòÉΓòÉΓòÉ
-
-
- ΓòÉΓòÉΓòÉ 6. Γûá Addtool Utility ΓòÉΓòÉΓòÉ
-
-
- ΓòÉΓòÉΓòÉ 7. Introduction ΓòÉΓòÉΓòÉ
-
- Use the Addtool utility to add tools to the WorkFrame/2* product from a command
- line rather than using the WorkFrame/2*'s interface.
-
- Adding tools from a command line is a fast way of adding your own tools or ones
- from a vendor. In addition, you can control where the tool appears in the Tools
- pulldown menu of the WorkFrame/2* interface.
-
- Warning: Do not run Addtool while the WorkFrame/2* window is open.
-
- The Addtool utility requires an initialization file. If you are familiar with
- initialization files, you can use the Quick Reference topic to get the
- information you need to create the initialization file. Then you can proceed
- immediately to Step 3 which tells you how to use the addtool command to add the
- tools.
-
- Or, if you would prefer to use a step-by-step approach to creating the
- initialization file, do all the following steps:
-
- o Step 1 - Create a resource script file that contains information about the
- tool.
-
- o Step 2 - Use the OS/2* operating system MAKEINI.EXE tool to compile the
- resource script file into an initialization file.
-
- o Step 3 - Use the Addtool utility to add the tools to the WorkFrame/2*
- product.
-
-
- ΓòÉΓòÉΓòÉ 8. Quick Reference ΓòÉΓòÉΓòÉ
-
- If you are familiar with initialization (.INI) files, you can use this panel as
- a reminder of what needs to be specified for the Addtool utility.
-
- The number of applications depends on the number of tools you are adding. The
- first application , TOOLS, has one key called COUNT. And the value of COUNT is
- the number of tools being added.
-
- Each of the other applications is called TOOLSn, where n is an integer from 1
- (one) to the number of tools being added. The TOOLSn applications have the
- following keys
-
- Key Description of Value
-
- TITLE The title you want to identify the tool.
-
- PRG The path and file name of the executable file.
-
- DIR The directory to be used as the working directory of the
- tool.
-
- INVOKE The parameters you want to start the tool with.
-
- PROMTYPE Indicates whether or not the user should be prompted when
- the tool is started. Zero ('0') means no prompt and one
- ('1') causes a prompt to be displayed.
-
- PROMPT The text of the prompt.
-
- PRGMTYPE The type of program. Must be one of the following values:
-
- 0 Let the header of the tool's executable file control how the tool
- is run.
-
- 1 Run the program as an OS/2* operating system full-screen program.
-
- 2 Run the program as an OS/2* operating system text-windowed
- program.
-
- 3 Run the program as a Presentation Manager* program.
-
- 4 Run the program as a DOS full-screen program.
-
- 7 Run the program as a DOS text-windowed program.
-
- 256 Run the program as an OS/2* operating system command file. Let
- the command processor, CMD.EXE, control how it runs.
-
- 257 Run the program as an OS/2* operating system command file in a
- full-screen.
-
- 258 Run the program as an OS/2* operating system command file in
- text-windowed mode.
-
- SESSION Indicate whether or not you want the tool to run in the
- foreground ('0') or background ('1').
-
- If you require more information about the keys and their values, see Step 1.
-
-
- ΓòÉΓòÉΓòÉ 9. Step 1 - Creating a Resource Script File ΓòÉΓòÉΓòÉ
-
- This section describes how to specify information about tools in a resource
- script file that can be used as input to the MAKEINI.EXE utility. You can use
- select Copy (under the Services pulldown) to create a file with the contents of
- the example on the right. This file can then be used as a template for your own
- resource script file.
-
- First, identify the number of tools being added with the line:
-
- "TOOLS" "COUNT" "Number_of_tools"
-
- Number_of_tools is replaced by a numerical value. In the example, three tools
- are being added so its value is 3. Throughout the rest of the string table, the
- tools are identified by the labels TOOLS1, TOOLS2, and TOOLS3. If more tools
- were being added, their labels would be TOOLS4, TOOLS5 and so on.
-
- Next, specify the characteristics described below for each tool starting with
- the first tool.
-
- o Specify the title with the line:
-
- "TOOLS1" "TITLE" "Title_of_the_tool"
-
- Title_of_the_tool is replaced by a character string. In the example, it is
- My Command Window.
-
- The title identifies the tool in window headings, messages, pulldowns, and
- list boxes. Therefore, make it meaningful and unique.
-
- It can be up to 100 characters long.
-
- o Specify the path and name of the executable file of the tool with the line:
-
- "TOOLS1" "PRG" "Path_and_file_name"
-
- In the example, the executable file name of the tool is
- d:\my_tools\my_cmd.exe.
-
- If the path is not fully specified, (for example, .\my_tool.exe) the
- WorkFrame/2* product searches the path specified in the PATH environment
- variable when the program is started.
-
- o Specify the path of the directory you want to use as the current directory
- when the tool is run:
-
- "TOOLS1" "DIR" "Current_directory"
-
- In the example, the tool will run in the directory d:\temp.
-
- If you want to use the directory associated with the current project when
- the tool is invoked, use a single period (.).
-
- o Specify the parameters to be passed to the tool when it is started:
-
- "TOOLS1" "INVOKE" "Invocation_parameters"
-
- In the example, /k is the invocation parameter.
-
- You can use substitution variables.
-
- You can enter up to 100 characters.
-
- o Specify whether or not a prompt should appear before the tool is run:
-
- "TOOLS1" "PROMTYPE" "Prompt_or_no_prompt"
-
- Prompt_or_no_prompt is replaced by:
-
- 0 (zero) If no prompt is to be displayed when the tool is run.
-
- 1 (one) If a prompt is to be displayed.
-
- Having a prompt lets you enter or change the the invocation parameters just
- before the tool is run.
-
- o The text in the prompt is specified with the line:
-
- "TOOLS1" "PROMPT" "Text_of the_prompt"
-
- In the example, the text displayed to prompt the user is
- Enter in the form /k command eg /kdir .
-
- o Specify the type of program that the tool is with the line:
-
- "TOOLS1" "PRGMTYPE" "Type_of_program"
- Type_of_program is one of the following values:
-
- 0 Let the header of the tool's executable file control how the tool
- is run.
-
- 1 Run the program as an OS/2* operating system full-screen program.
-
- 2 Run the program as an OS/2* operating system text-windowed
- program.
-
- 3 Run the program as a Presentation Manager* program.
-
- 4 Run the program as a DOS full-screen program.
-
- 7 Run the program as a DOS text-windowed program.
-
- 256 Run the program as an OS/2* operating system command file. Let
- the command processor, CMD.EXE, control how it runs.
-
- 257 Run the program as an OS/2* operating system command file in a
- full-screen.
-
- 258 Run the program as an OS/2* operating system command file in
- text-windowed mode.
-
- Specify 0 (zero) to run the program as specified in the header of its
- executable file. By specifying another option, you can override the
- specification in the header of the executable file. You could, for example,
- start a windowed tool as a full screen tool. Do not start an application
- that is not a Presentation Manager* program as a Presentation Manager*
- program or vice versa. If the program is a Presentation Manager* program,
- specify 0 (zero) or 3.
-
- o Specify whether you want to run the tool in the foreground or the
- background:
-
- "TOOLS1" "SESSION" " Session_type"
-
- Session_type is either 0 or 1.
-
- If you select 0, the tool runs in the foreground. The tool will appear next
- to Sessions in the Windows pulldown.
-
- If you select 1, the tool runs as a background process. The tool will appear
- next to Dialogs in the Windows pulldown. A Monitor window displays showing
- the standard output. Only select 1 if the program does not interact with the
- user.
-
- Note: If the tool is a Presentation Manager* program, specify 0 to make
- sure the tool runs in the foreground.
-
- If the tool is a command file, it is invoked with the /K parameter if it is
- to run in the foreground. If it is to rund in the background, it is invoked
- with the /C parameter.
-
- In the example, the tool is to run in the foreground so 0 is specified.
-
- Repeat the above steps for each tool being added. When the resource script
- file is complete, go to Step 2.
-
-
- ΓòÉΓòÉΓòÉ 9.1. Resource Script File - Example ΓòÉΓòÉΓòÉ
-
-
- /*****************************************/
- /* Example of a Resource Script File */
- /* that can be used by MAKEINI.EXE to */
- /* create an intitialization file. */
- /*****************************************/
-
- CODEPAGE 850
-
- STRINGTABLE
- BEGIN
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
-
-
- "TOOLS" "COUNT" "3"
-
- "TOOLS1" "TITLE" "My Command Window"
- "TOOLS1" "PRG" "d:\my_tools\my_cmd.exe"
- "TOOLS1" "DIR" "d:\temp"
- "TOOLS1" "INVOKE" "/k"
- "TOOLS1" "PROMTYPE" "1"
- "TOOLS1" "PROMPT" "Enter '/k command' (eg. /k dir)"
- "TOOLS1" "PRGMTYPE" "2"
- "TOOLS1" "SESSION" "1"
-
- "TOOLS2" "TITLE" "Dialog Box Editor"
- "TOOLS2" "PRG" "DLGEDIT.EXE"
- "TOOLS2" "DIR" "."
- "TOOLS2" "INVOKE" "%f"
- "TOOLS2" "PROMTYPE" "0"
- "TOOLS2" "PROMPT" ""
- "TOOLS2" "PRGMTYPE" "3"
- "TOOLS2" "SESSION" "0"
-
- "TOOLS3" "TITLE" "IPF Compiler"
- "TOOLS3" "PRG" "IPFC.EXE"
- "TOOLS3" "DIR" "."
- "TOOLS3" "INVOKE" "%f"
- "TOOLS3" "PROMTYPE" "0"
- "TOOLS3" "PROMPT" ""
- "TOOLS3" "PRGMTYPE" "0"
- "TOOLS3" "SESSION" "1"
-
- "" "" ""
- END
-
-
- ΓòÉΓòÉΓòÉ 10. Step 2 - Making An Initialization File ΓòÉΓòÉΓòÉ
-
- The next step is to make an initialization file that can be used by the Addtool
- utility.
-
- To make an initialization file, use the OS/2 operating system utility
- MAKEINI.EXE to compile the resource script file (created in Step 1) into an
- initialization file.
-
- For example,
-
- makeini sample.ini sample.rc
-
- creates the initialization file sample.ini from the resource script file
- sample.rc.
-
- If any errors occur while using MAKEINI.EXE with your resource script file,
- correct them and try again. If you need more information, consult the OS/2*
- operating system online reference.
-
- When you initialization file has been successfully created, go to Step 3.
-
-
- ΓòÉΓòÉΓòÉ 11. Step 3 - Using Addtool To Add the Tools ΓòÉΓòÉΓòÉ
-
- To add the tools to the WorkFrame/2* product, enter the following command:
-
- addtool ini_file [ordinal]
- where
-
- ini_file Is the file name of the initialization file created in step 2.
-
- ordinal Indicates where the tools should appear in the Tools pulldown. Use:
-
- o 0 to put the tools at the top of the list
-
- o 1 to put them after the first tool already in the list
-
- o 2 to put them after the second tool already in the list and so on.
-
- If the ordinal exceeds the number of tools in the Tools pulldown or
- is unspecified, the new tool is added to to the end of the tools
- list.
-
-
- ΓòÉΓòÉΓòÉ 11.1. Adding Tools - Example ΓòÉΓòÉΓòÉ
-
- Here's an example of commands used to add two tools to the WorkFrame/2*
- product:
-
- addtool tool_x.ini 2
- addtool tool_y.ini 99
-
- Note: The first command places the tools specified in tool_x.ini after the
- second item in the Tools pulldown.
-
- The second one places the tools specified in tool_y.ini at the end of the Tools
- pulldown if there are less than 99 items in the pulldown.
-
-
- ΓòÉΓòÉΓòÉ 12. Help for Messages ΓòÉΓòÉΓòÉ
-
- For help on a particular message:
-
- 1. Select the plus ('+') symbol beside the Help for Messages heading in the
- Contents window to display a list of message identifiers.
-
- 2. Select the message identifier corresponding to the that displayed by the
- Addtool utility to see more information about it.
-
-
- ΓòÉΓòÉΓòÉ 12.1. ADT0001E: Message Help ΓòÉΓòÉΓòÉ
-
- Incorrect syntax.
-
- The syntax entered for the Addtool command is not valid.
-
- Recovery
-
- Ensure that the command you enter corresponds to the correct syntax:
-
- addtool ini_file [ordinal]
- where
-
- ini_file Is the file name of the initialization file created in step 2.
-
- ordinal Indicates where the tools should appear in the Tools pulldown. Use:
-
- o 0 to put the tools at the top of the list
-
- o 1 to put them after the first tool already in the list
-
- o 2 to put them after the second tool already in the list and so on.
-
- If the ordinal exceeds the number of tools in the Tools pulldown or
- is unspecified, the new tool is added to to the end of the tools
- list.
-
-
- ΓòÉΓòÉΓòÉ 12.2. ADT0002E: Message Help ΓòÉΓòÉΓòÉ
-
- The ordinal (insertion point) must be numeric.
-
- The ordinal entered on the command line was not numerical.
-
- Recovery
-
- Enter the command again with a numerical ordinal.
-
-
- ΓòÉΓòÉΓòÉ 12.3. ADT0003E: Message Help ΓòÉΓòÉΓòÉ
-
- Unable to open input file <name_of_file>.
-
- The Addtool utility could not open the indicated file.
-
- Recovery
-
- Ensure that the file is not being used by another process and try again.
-
-
- ΓòÉΓòÉΓòÉ 12.4. ADT0004E: Message Help ΓòÉΓòÉΓòÉ
-
- Tool count missing from profile.
-
- The COUNT key is missing from the initialization file.
-
- Recovery
-
- Ensure that the COUNT key is specified in the initialization file.
-
-
- ΓòÉΓòÉΓòÉ 12.5. ADT0005E: Message Help ΓòÉΓòÉΓòÉ
-
- Memory allocation failure.
-
- An error occurred while trying to allocate memory. There may not be sufficient
- memory to complete the task.
-
- Recovery
-
- Close one or more other tasks, and retry the command.
-
-
- ΓòÉΓòÉΓòÉ 12.6. ADT0006E: Message Help ΓòÉΓòÉΓòÉ
-
- Too many tools. The new total of new_total would exceed the maximum of
- maximum_number_of_tools.
-
- By adding the tools specified in the file, the new total would be greater than
- that allowed by the WorkFrame/2* product.
-
- Recovery
-
- Remove enough unused tools from the WorkFrame/2* product so that the new
- additions keep the total less than 100. Then add the new tools.
-
-
- ΓòÉΓòÉΓòÉ 12.7. ADT0007E: Message Help ΓòÉΓòÉΓòÉ
-
- Addtool utility ending because of errors.
-
- One or more errors occurred before the Addtool utility finished.
-
- Recovery
-
- The errors that occurred were displayed previously to this one. Look up the
- errors in the Contents section and correct the problem.
-
-
- ΓòÉΓòÉΓòÉ 12.8. ADT0008E: Message Help ΓòÉΓòÉΓòÉ
-
- Addtool utility finished successfully.
-
- The tools have been added to the WorkFrame/2* product.
-
-
- ΓòÉΓòÉΓòÉ 12.9. ADT0009E: Message Help ΓòÉΓòÉΓòÉ
-
- Error loading the WorkFrame/2* profile.
-
- The Addtool utility cannot load the user profile IBMWF.INI from the
- installation directory. One of three conditions has occurred:
-
- 1. The installation directory of the WorkFrame/2* product could not be found
- by looking in OS2.INI.
-
- Use the ADDUSER.EXE utility to specify the installation directory in the
- OS2.INI file.
- 2. The profile failed to open.
-
- If the file is being held by another process, release it and try again.
- 3. The file has been corrupted.
-
- In the last situation, you will have to install the WorkFrame/2* again.
- The environment will be preserved if you specify the same home directory,
- but you will have to specify your preferences again.
-
-
- ΓòÉΓòÉΓòÉ 12.10. ADT0010E: Message Help ΓòÉΓòÉΓòÉ
-
- Error reading WorkFrame/2* profile, OS/2* operating system return code is
- <return_code>.
-
- The WorkFrame/2* initialization cannot read the user profile IBMWF.INI from the
- installation directory.
-
- Recovery
-
- Look up the return code in the OS/2* operating system online reference for more
- information and correct the problem.
-
-
- ΓòÉΓòÉΓòÉ 12.11. ADT0011E: Message Help ΓòÉΓòÉΓòÉ
-
- An error occurred while writing the WorkFrame/2* profile, OS/2* operating
- system return code is <return_code>.
-
- The Addtool utility could not update the WorkFrame/2* profile.
-
- Recovery
-
- Look up the return code in the OS/2* operating system online reference for more
- information and correct the problem.
-
-
- ΓòÉΓòÉΓòÉ 12.12. ADT0012E: Message Help ΓòÉΓòÉΓòÉ
-
- Profile tool string exceeded 65335 bytes when adding tool <name_of_tool>.
-
- The profile string used to hold the information about the WorkFrame/2*'s tools
- reached its limit when trying to store the information about the indicated
- tool.
-
- Recovery
-
- Delete tools from the WorkFrame/2* product that are no longer needed and try
- again.
-
-
- ΓòÉΓòÉΓòÉ 12.13. ADT0013E: Message Help ΓòÉΓòÉΓòÉ
-
- Title is missing for tool <name_of_tool>
-
- The title is missing.
-
- A title must be provided before a tool can be added or changed. Your title is
- missing or blank.
-
- Recovery
-
- Specify the title you want to use for this tool.
-
-
- ΓòÉΓòÉΓòÉ 12.14. ADT0014E: Message Help ΓòÉΓòÉΓòÉ
-
- Program name is missing for tool <name_of_tool>.
-
- No program name was specified for the indicated tool.
-
- Recovery
-
- Correct the resource script file so that the tool has a program name.
-
-
- ΓòÉΓòÉΓòÉ 12.15. ADT0015E: Message Help ΓòÉΓòÉΓòÉ
-
- Invocation string for tool <name_of_tool> incorrect - string terminated with a
- '%'.
-
- The last character was a % character. It must be followed by another character
- to form a recognized substitution variable. Recognized substitution variables
- are %%, %a, %d, %e, %f, %m, %n, %o, %r, or %z.
-
- Recovery
-
- Add the appropriate character to the end of the string to create a substitution
- variable or delete the % character.
-
-
- ΓòÉΓòÉΓòÉ 12.16. ADT0016E: Message Help ΓòÉΓòÉΓòÉ
-
- Invocation string for tool <name_of_tool> incorrect substitution variable found
- within '%a...%z' string.
-
- Only '%%', %d, or '%z' can follow '%a'.
-
- A substitution variable other than %%, %d, or %z was found following a %a.
-
- Recovery
-
- Either remove the substitution variable, change it to a %%, %d, or %z, or add a
- %z ahead of it.
-
-
- ΓòÉΓòÉΓòÉ 12.17. ADT0017E: Message Help ΓòÉΓòÉΓòÉ
-
- Invocation string for tool <name_of_tool> incorrect - '%z' found without '%a'.
-
- A %z substitution variable must be preceeded by a matching %a.
-
- Recovery
-
- Make sure the separator character or string that is to be used between the file
- names is placed inbetween %a and %z symbols. Or remove the %z substitution
- variable.
-
-
- ΓòÉΓòÉΓòÉ 12.18. ADT0018E: Message Help ΓòÉΓòÉΓòÉ
-
- Invocation string for tool <name_of_tool> incorrect - unrecognized substitution
- variable <variable>.
-
- An unrecognized substitution variable was used. Recognized substitution
- variables are %%, %a, %d, %e, %f, %m, %n, %o, %r, or %z.
-
- Recovery
-
- Change the substitution variable to a recognized substitution variable or
- remove it.
-
-
- ΓòÉΓòÉΓòÉ 12.19. ADT0019E: Message Help ΓòÉΓòÉΓòÉ
-
- Invocation string for tool <name_of_tool> incorrect - '%a' found without '%z'.
-
- A %a substitution variable must be followed by a matching %z.
-
- Recovery
-
- Make sure the separator character or string that is to be used between the file
- names is placed inbetween %a and %z symbols. Or remove the %a substitution
- variable.
-
-
- ΓòÉΓòÉΓòÉ 12.20. ADT0020E: Message Help ΓòÉΓòÉΓòÉ
-
- Prompt type for tool <name_of_tool> must be 0 (zero) or 1 (one).
-
- The "PROMPT" entry in the resource script file in neither a zero ('0') nor a
- one ('1').
-
- 0 (zero) If no prompt is to be displayed when the tool is run.
-
- 1 (one) If a prompt is to be displayed.
-
- Recovery
-
- Specify either a 0 or a 1 for "PROMPT" in the resource script file.
-
-
- ΓòÉΓòÉΓòÉ 12.21. ADT0021E: Message Help ΓòÉΓòÉΓòÉ
-
- Session type for tool <name_of_tool> must be 0 (zero) or 1 (one).
-
- The "SESSION" entry in the resource script file in neither a zero ('0') nor a
- one ('1').
-
- If you select 0, the tool runs in the foreground. The tool will appear next to
- Sessions in the Windows pulldown.
-
- If you select 1, the tool runs as a background process. The tool will appear
- next to Dialogs in the Windows pulldown. A Monitor window displays showing the
- standard output. Only select 1 if the program does not interact with the user.
-
- Note: If the tool is a Presentation Manager* program, specify 0 to make sure
- the tool runs in the foreground.
-
- If the tool is a command file, it is invoked with the /K parameter if it is to
- run in the foreground. If it is to rund in the background, it is invoked with
- the /C parameter.
-
- Recovery
-
- Specify either a 0 or a 1 for "SESSION" in the resource script file.
-
-
- ΓòÉΓòÉΓòÉ 12.22. ADT0022E: Message Help ΓòÉΓòÉΓòÉ
-
- Program type for tool <name_of_tool> is incorrect. It must be one of the
- following values: 0, 1, 2, 3, 4, 7, 256, 257, or 258.
-
- The value specified in the "PROMTYPE" line in the resource script file is not
- one of the valid values.
-
- Recovery
-
- Correct the value in the "PROMTYPE" line.
-
- 0 Let the header of the tool's executable file control how the tool is
- run.
-
- 1 Run the program as an OS/2* operating system full-screen program.
-
- 2 Run the program as an OS/2* operating system text-windowed program.
-
- 3 Run the program as a Presentation Manager* program.
-
- 4 Run the program as a DOS full-screen program.
-
- 7 Run the program as a DOS text-windowed program.
-
- 256 Run the program as an OS/2* operating system command file. Let the
- command processor, CMD.EXE, control how it runs.
-
- 257 Run the program as an OS/2* operating system command file in a
- full-screen.
-
- 258 Run the program as an OS/2* operating system command file in
- text-windowed mode.
-
-
- ΓòÉΓòÉΓòÉ 12.23. ADT0023E: Message Help ΓòÉΓòÉΓòÉ
-
- Prompt is missing for tool <name_of_tool>.
-
- You have selected to have a prompt provided but have not specified a value for
- the PROMPT key.
-
- Recovery
-
- Enter a value for the PROMPT key.
-
-
- ΓòÉΓòÉΓòÉ 12.24. ADT0028E: Message Help ΓòÉΓòÉΓòÉ
-
- Error creating backup of WorkFrame/2* profile, OS/2* operating system return
- code is <return_code>.
-
- The Addtool utility could not make a backup of the WorkFrame/2* profile.
-
- Recovery
-
- Look up the OS/2* operating system return code in the online reference for more
- information and correct the problem.
-
-
- ΓòÉΓòÉΓòÉ 12.25. ADT0029E: Message Help ΓòÉΓòÉΓòÉ
-
- The <name_of_string> for tool <name_of_tool> must be numeric.
-
- The value for the indicated string is not numeric.
-
- Recovery
-
- Specify a numeric value for the string.
-
-
- ΓòÉΓòÉΓòÉ 12.26. ADT0030E: Message Help ΓòÉΓòÉΓòÉ
-
- Tool count is not numeric.
-
- The value for the COUNT key in the initialization file is not numeric.
-
- Recovery
-
- Specify a numeric value for the COUNT key in the initialization file.
-
-
- ΓòÉΓòÉΓòÉ 12.27. ADT0031E: Message Help ΓòÉΓòÉΓòÉ
-
- Tool count is greater than the number of tools allowed. The maximum is 100.
-
- The value for the COUNT key is greater than 100.
-
- Recovery
-
- Ensure that the value is small enough so that the number of tools being added
- plus the number already added does not exceed 100.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Current directory ΓòÉΓòÉΓòÉ
-
- The current directory is the directory being used by the current project.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Monitor ΓòÉΓòÉΓòÉ
-
- The Monitor window displays whenever a tool is running in the background or
- Compile, Build, Link, or Make is selected from the Actions pulldown. Output
- from the action displays in the list box so you can see what is happening.
-
- While the Monitor window list box is being updated, you can only select Stop.
-
- Select Stop to halt the tools or action associated with the window.
-
- If the action is completed successfully you will hear a high-pitched beep. If
- the action is not successfully completed, then you will hear a low-pitched
- beep.
-
- Note: Some tools cannot be interrupted.
-
- The other pushbuttons are only available if:
-
- o The action has stopped on its own.
-
- o You have pressed the Stop pushbutton and the action has stopped.
-
- Once the action has stopped, you can use the: Print, Save, and Cancel
- pushbuttons.
-
- You can double-click on a line in the Monitor window list box to edit files if
- the dynamic link library of the compiler can parse the message line into a
- file name.
-
- Once the editor has started, it can scroll to the line indicated in the
- message if:
-
- o The editor supports the communication of error messages and the Send
- compiler errors check box is selected.
-
- o The message line matches the form of the error message template specified in
- the Compile options dynamic link library. If you are using the default
- dynamic link library for the compile options, you can specify the error
- message template. If the dynamic link library is designed for a specific
- compiler, the error message template may already be built in.
-
- For example, if you are using the OS/2* Enhanced Editor editor and a compiler
- which can send the line number in the message, you can use the monitor window
- to move around the editing session. Suppose you are compiling a program and
- the following messages appear in the Monitor window.
-
- DAVID.C(0184):Missing ';'.
- DAVID.C(1318):Wrong number of parameters.
- DAVID.C(3679):Unexpected text identifier.
- You could start the editing session by clicking on the first line. The OS/2*
- Enhanced Editor editor would not only display the file for editing but
- automatically move to line 184. After inserting a ';', you could click on the
- next message line to move to line 1318 of the file being edited.
-
- The feature works with all text mode editors and some editors based on the
- Presentation Manager* program.
-
- For example, when you are fixing errors found by a compiler, just find the
- error in the list box and select it to edit the source file.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Substitution Variables ΓòÉΓòÉΓòÉ
-
- Substitution variables are symbols you can specify in an invocation parameters.
-
- The WorkFrame/2* product supports the following substitution variables:
-
- %a...%z Will be replaced by all the file names selected in the corresponding
- listbox. The file names will be separated by the characters
- specified between the 'a' and the '%' of the %z substitution
- variable.
-
- For example, if the selected files are cat.obj, dog.obj, and
- bird.obj, the substitution variable %a+-%z will result in the string
-
- cat.obj+-dog.obj+-bird.obj
-
- The only substitution variable allowed within the %a...%z
- substitution variables are %% and %d.
-
- %d Will be replaced with the directory of the current project. Use this
- substitution variable to qualify the name of file as in %d\%f or
- %d\%n.%e.
-
- %e Will be replaced by the extension (without the period) of the first
- selected file.
-
- %f Will be replaced with the first file selected in the corresponding
- listbox.
-
- Specifying %f is the same as specifying %n.%e.
-
- %m Will be replaced by the make file name specified when the project
- was created.
-
- %n Will be replaced by the file name (without an extension) of the
- first selected file.
-
- %o Will be replaced by the target file name specified when the project
- was created.
-
- %r Will be replaced by the run options set for the current project.
-
- %% Will be replaced by a % symbol.
-
-
- ΓòÉΓòÉΓòÉ 13. ΓòÉΓòÉΓòÉ
-
-
- ΓòÉΓòÉΓòÉ 14. Γûá Library Manager Utility ΓòÉΓòÉΓòÉ
-
-
- ΓòÉΓòÉΓòÉ 15. LIBUTIL ΓòÉΓòÉΓòÉ
-
-
- ΓòÉΓòÉΓòÉ <hidden> Topics ΓòÉΓòÉΓòÉ
-
- What is LIB?
- Running LIB
- LIB Options
- LIB Commands
- LIB Prompts
- LIB Response File
-
-
- ΓòÉΓòÉΓòÉ <hidden> Command Line Syntax ΓòÉΓòÉΓòÉ
-
- LIB [options] inlibrary [commands] [[,listfile] [, outlibrary]] [;]
-
- Commas are used to separate commands and options. The semi-colon [;] is used
- to mark the end of the command line.
-
-
- ΓòÉΓòÉΓòÉ <hidden> What is LIB? ΓòÉΓòÉΓòÉ
-
- The Library Manager (LIB) lets you create and maintain libraries of object
- code. A library is an organized collection of object code which contains
- functions and data that are already assembled or compiled. See What Are
- Libraries Used For?
-
- Once an object file is incorporated into a library, it becomes an object
- module.
-
- Library files are given the extension of .LIB (as in mylib.lib). High
- Performance File System (HPFS) file names are also supported as long as the
- file names ends with .LIB (as in mylibraryfile.new.lib).
-
- LIB works with standard libraries and OS/2 import libraries. It does not work
- with Dynamic Link Libraries (DLL).
-
- Use LIB to:
-
- o Create a new library
- o Add, delete, or replace modules in a library
- o Copy object modules in a library to object files
- o List the contents of a library
-
-
- ΓòÉΓòÉΓòÉ <hidden> What Are Libraries Used For? ΓòÉΓòÉΓòÉ
-
- Libraries are used to:
-
- o Support high level languages. Most compilers include libraries to perform
- standard operations, such as input/output and floating-point mathematics.
-
- When your program refers to a library routine, the compiler and linker
- combine the library routine with your program.
-
- o Perform complex and specialized activities, such as database management or
- advanced graphics. You can use your own libraries or specialized libraries
- supplied by a vendor.
-
- o Support your own work. If you have created routines that you use with a
- variety of programs, you may want to consolidate these routines into a
- library. You can then link to one library.
-
- Related Topics
-
- o What is LIB?
-
-
- ΓòÉΓòÉΓòÉ <hidden> Create a New Library ΓòÉΓòÉΓòÉ
-
- To create a new library file, give the name of the library file you want to
- create in the <inlibrary> field on the command line (or at the Library name:
- prompt when using LIB prompts).
-
- Note: A library file is automatically created if the library file name you
- specify is immediately followed by a command, comma, or semicolon. In this
- case, the prompt does not appear.
-
- If the name you specify for the new library file already exists, LIB assumes
- that you want to modify the existing file.
-
- When you give the name of a file that does not currently exist, LIB displays
- the following prompt:
-
- Library does not exist. Create library? (y or n)
-
- Type y to create the file; type n to terminate the LIB run. If you specified an
- extension other than .LIB, LIB will try to append the .LIB extension to the
- entire file name. If a library name is not entered LIB will prompt you with the
- following:
-
- Library name:
-
- Other Library Functions
-
- o Add, delete, or replace modules in a library
- o Copy object modules in a library to object files
- o List contents of a library
-
- Related Topics
-
- o What Are Libraries Used For?
-
-
- ΓòÉΓòÉΓòÉ <hidden> Modifying a Library ΓòÉΓòÉΓòÉ
-
- You can use LIB to alter the contents of any object code library. For example,
- if you work with high level language libraries, you may want to replace a
- standard routine with your own version of the routine. You may also want to add
- a new routine to the standard library so that your routine is available along
- with the standard routines.
-
- To modify an existing library file, give the name of the library file you want
- to modify in the <inlibrary> field of the command line (or at the Library name:
- prompt when using LIB prompts).
-
- In the <command> field, enter one or more commands to add, delete, or replace
- modules in the input library. Each command consists of a command character
- immediately followed by the name of the module or object file. Note that the
- Add command can be used to combine libraries as well as to add object files to
- a library. See:
-
- Add Command (+)
- Delete Command (-)
- Replace Command (-+)
-
- LIB creates a backup file of the library being modified if it already exists.
- This backup file has the same name as the original library with .IBM as the
- extension name.
-
- Other Library Functions
-
- o Create a new library
- o Copy/move object modules in a library to object files
- o List contents of a library
-
- Related Topics
-
- o What Are Libraries Used For?
-
-
- ΓòÉΓòÉΓòÉ <hidden> Copying Object Modules to Object Files ΓòÉΓòÉΓòÉ
-
- To copy a module from a library file to an object file, give the name of the
- library file in the <inlibrary> field on the command line (or at the Library
- name: prompt when using LIB prompts).
-
- The <command> field on the command line allows you to move or copy modules.
-
- Command Action
-
- copy (*) LIB copies the module to an object file and retains the module in
- the library.
-
- move (-*) LIB copies the module to an object file and deletes the module from
- the library.
-
- Other Library Functions
-
- o Create a new library
- o Add, delete, or replace modules in a library
- o List contents of a library
-
- Related Topics
-
- o What Are Libraries Used For?
-
-
- ΓòÉΓòÉΓòÉ <hidden> Listing the Current Contents of a Library ΓòÉΓòÉΓòÉ
-
- Listings give you the exact names of modules and public symbols, allowing you
- to inspect the contents within a library.
-
- To generate a listing file, enter the following on the command line (or at the
- appropriate LIB prompt):
-
- o The name of the library file in the <inlibrary> field
-
- o The name of the listing file in the <listfile> field
-
- When generating a listing file, the amount of detail can be varied. The level
- of detail is specified with the /Listlevel: n option, with three different
- levels being available.
-
- Level 1 is the default for Listlevel. It is the fastest to generate and
- contains the least amount of information. All modules are listed in order of
- occurrence. For each module, the level 1 option:
-
- 1. Shows the relative position and size of each module.
-
- 2. Lists all the public symbols defined in the module.
-
- 3. Lists all external symbols which must be resolved at link time.
-
- Level 1 Example
-
- Level 2 contains all the information of level 1. In addition, for each
- external symbol, level 2 shows which module in the library contains the
- required public symbols for resolving at link time. This can be overridden if
- a module is linked to another module that already contains the symbol.
-
- Level 2 Example
-
- Level 3 contains all the information of level 2. In addition, Level 3 displays
- the technical characteristics of the library. This option also contains a dump
- of the extended dictionary. This is useful to determine which modules will be
- implicitly linked in whenever a particular module is linked in.
-
- Level 3 Example
-
- Sample Cross Reference Listing
-
- LIB /LISTLEVEL:2 MYLIB, MYLIB.LST;
-
- The command above directs LIB to place a listing of the contents of MYLIB.LIB
- into the file LISTING.LST No path specification is given for LISTING.LST. By
- default, the file created is put in the current directory.
-
- Other Library Functions
-
- o Create a new library
- o Add, delete, or replace modules in a library
- o Copy object modules in a library to object files
-
- Related Topics
-
- o What Are Libraries Used For?
-
- o What Are Libraries Used For?
-
-
- ΓòÉΓòÉΓòÉ <hidden> Running LIB ΓòÉΓòÉΓòÉ
-
- Run LIB by typing LIB at the operating system prompt. See Syntax.
-
- Input can be supplied by one of three methods:
-
- 1. Enter the input directly on the command line.
- 2. Respond to prompts.
- 3. Put your input in a text file called a response file and enter the file
- name on the command line.
-
- Note: You can press CTRL+C or CTRL+BREAK at any time during a LIB run to
- return to the operating system. Interrupting LIB before completion restores
- the library from the backup.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Output Library ΓòÉΓòÉΓòÉ
-
- If you specify a file in <outlibrary>, LIB creates a new output file with the
- modifications and leaves your input file intact. Otherwise, LIB replaces your
- input file with the modified file. In the latter case, a backup of your
- original input file is stored in the current directory with the file name
- extension .IBM.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Using the Command Line ΓòÉΓòÉΓòÉ
-
- You can specify all the input LIB needs on the command line. See Command Line
- Syntax
-
- <inlibrary> The input library to be modified.
-
- <options> Options that affect the way LIB runs.
-
- <commands> Commands used to add, delete, replace, copy, and move modules
- within the library.
-
- <listfile> The name for a listing file. If you don't specify a name, no
- file is created.
-
- <outlibrary> The output library created from the input library. If you
- don't specify an output library, your input library is
- replaced with the modified version (see below).
-
- Note:
-
- o When started, LIB makes a backup copy of the original library in case it is
- interrupted or a mistake is made. Make sure you have enough disk space for
- both your original library and the modified copy.
-
- o The library must end with the extension .LIB. If an extension is not
- specified the default extension, .LIB, will be appended. HPFS file names are
- supported. Hence, MYLIBRARYNAME.NEW.LIB is still a valid library. Note that
- this implies that MYLIBRARYNAME.NEW refers to MYLIBRARYNAME.NEW.LIB.
-
- o If you enter an input library name and follow it immediately with a
- semicolon (;), LIB performs a consistency check on the library and takes no
- other action.
-
- o If you want to enter more commands than can be conveniently entered on the
- Command Line, see Multiple Command Lines.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Multiple Command Lines ΓòÉΓòÉΓòÉ
-
- To enter more commands than can be conveniently entered on one line, type an
- ampersand (&) at the end of the line and press ENTER to extend the command
- field to a new line. The ampersand can be used on the command line, after LIB
- prompts, and in response files.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Using LIB Prompts ΓòÉΓòÉΓòÉ
-
- If you don't provide input to LIB on the command line, LIB prompts you for the
- information it needs by displaying the following messages, one at a time:
-
- Prompt Enter
-
- Library name
- Name of the input library to be modified
-
- Operations
- Commands to modify the library
-
- List file
- Name for a listing file
-
- Output library
- Name of the output library to be created from the input
- library
-
- Enter the same information that you would enter when using the LIB command
- line.
-
- Notes
-
- o LIB waits for you to respond to each prompt before displaying the next
- prompt. If you notice that you have entered an incorrect response to a
- previous prompt, press CTRL+C or CTRL+BREAK to exit LIB and begin again.
- o A file name must be entered at the Library name: prompt. To choose a default
- response for any of the other prompts, press ENTER. To choose default
- responses for all remaining prompts, type a semicolon (;) and press ENTER.
-
- Related Topics
-
- Default Responses to Prompts
-
-
- ΓòÉΓòÉΓòÉ <hidden> Default Responses to Prompts ΓòÉΓòÉΓòÉ
-
- Prompt Default Action
-
- Operations:
- No commands; the input library is unchanged.
-
- List file:
- No listing file is created.
-
- Output library:
- LIB modifies the input library.
-
- LIB prompts
-
-
- ΓòÉΓòÉΓòÉ <hidden> Using a LIB Response File ΓòÉΓòÉΓòÉ
-
- To provide input to LIB with a response file, type:
-
- LIB @responsefile
-
- The field < responsefile > is the name of a file containing the same
- information that can be specified on the command line.
-
- In a sense, a response file extends the command line to include everything in
- the response file. To split input to LIB between the command line and a
- response file, put part of your input on the command line and specify a
- response file (preceding the response file name with the at sign (@)). The
- response file name can be any valid OS/2 file. To use special characters such
- as a space or the @ symbol, the filename must be enclosed in quotes.
-
- LIB responds to input you place in a response file just as it does to input you
- enter on a command line or after a prompt. Using a newline character in the
- response file is the equivalent of pressing the ENTER key after a LIB prompt.
-
- A response file uses one text line for each prompt. To extend a LIB command to
- multiple lines, end each line except the last with an ampersand (&). Responses
- must appear in the same order as the prompts.
-
- Use a response file for:
-
- o Complex and long commands you type frequently
-
- o Strings of commands that exceed the limit for command line length
-
- Response file example
-
- Related Topics
-
- o LIB Options
- o LIB Commands
- o LIB Prompts
-
-
- ΓòÉΓòÉΓòÉ <hidden> Sample Response File ΓòÉΓòÉΓòÉ
-
- Consider a response file called RESPONSE:
-
- DDE4AST
- +SIMON-LOOK+LOOK &
- *MALLOC
- DDE4AST.LST
-
- To use this response file, type the following at the operating system prompt:
-
- LIB @RESPONSE
-
- This is equivalent to the following responses to LIB prompts:
-
- Library name: DDE4AST
- Operations: +SIMON-LOOK+LOOK &
- Operations: *MALLOC
- List file: DDE4AST.LST
- Output library:
-
- Note that the ampersand character (&) is used in a response file in the same
- way it is used for LIB prompts; that is, the ampersand lets you enter commands
- on multiple lines.
-
- LIB does the following:
-
- o Deletes the module LOOK from the library DDE4AST.LIB
- o Copies the module MALLOC into an object file named MALLOC.OBJ
- o Appends the object files SIMON.OBJ and LOOK.OBJ as the last two modules in
- the library
- o Creates a listing file named DDE4AST.LST
-
- LIB Response File
-
-
- ΓòÉΓòÉΓòÉ <hidden> LIB Options ΓòÉΓòÉΓòÉ
-
- Usage Notes:
-
- o Option characters are not case sensitive; /H and /h are equivalent.
- o The characters in brackets can be omitted; /H and /HELP are equivalent.
- o Unless otherwise specified, most options and commands need only the first
- letter of their names to be used.
-
- The following is a summary of LIB options:
-
- Option Action
-
- /? or ? or /H[ELP] Display Help
-
- /I[GNORECASE] Turn Case Sensitivity Off
-
- /NOE[XTDICTIONARY] Disable Generation of Extended Dictionary
-
- /NOI[GNORECASE] Turn Case Sensitivity On
-
- /NOL[OGO] Suppress LIB Banner
-
- /Q[UIET] Suppress LIB Banner
-
- /P[AGESIZE] Set Library Page Size
-
- /L[ISTLEVEL] :n List Current Contents of Library
-
- Related Topics
-
- o LIB Commands
- o LIB Prompts
- o LIB Response File
-
-
- ΓòÉΓòÉΓòÉ <hidden> /I Option ΓòÉΓòÉΓòÉ
-
- Turn Case Sensitivity Off (/I)
-
- Syntax: /I[GNORECASE]
-
- Purpose: Turns off case sensitivity for symbols
-
- By default, case sensitivity is off. Use this option when you are combining a
- library that was created with case sensitivity on (using the /NOI option) with
- others that are not case sensitive. The resulting library is not case
- sensitive.
-
-
- ΓòÉΓòÉΓòÉ <hidden> /NOE Option ΓòÉΓòÉΓòÉ
-
- Disable Generation of Extended Dictionary (/NOE)
-
- Syntax: /NOE[XTDICTIONARY]
-
- Purpose: Disables generation of extended dictionary
-
- The extended dictionary is an optional part of the library that increases
- linking speed. However, using an extended dictionary requires more memory. The
- space reserved for the extended dictionary is limited to 64K, no more can be
- allocated. If LIB reports an out-of-memory error, you may want to use this
- option. As an alternative, you can split large libraries into smaller libraries
- to use in linking.
-
-
- ΓòÉΓòÉΓòÉ <hidden> /NOI Option ΓòÉΓòÉΓòÉ
-
- Turn Case Sensitivity On (/NOI)
-
- Syntax: /NOI[GNORECASE]
-
- Purpose: Turns on case sensitivity
-
- By default, case sensitivity is off (/I option). Using this option allows
- symbols that differ only in case, such as Sine and SINE, to be included as
- separate symbols in the same library.
-
- Note that when you create a library with the /NOI option, LIB marks the library
- internally to indicate that /NOI is in effect. If you combine multiple
- libraries, and any one of them is marked /NOI, then the output library is
- marked /NOI.
-
-
- ΓòÉΓòÉΓòÉ <hidden> /P Option ΓòÉΓòÉΓòÉ
-
- Set Library Page Size (/P)
-
- Syntax: /P[AGESIZE]: n
-
- Purpose: Sets library page size
-
- This option specifies the library page size of a new library or changes that of
- an existing library. The new page size <n> must be an integer value
- representing a power of 2 between the values 16 and 32,768.
-
- A library's page size affects the alignment of modules stored in the library.
- Modules are always aligned to start at a position that is a multiple of the
- page size (in bytes) from the beginning of the file. The default page size for
- a new library is 16 bytes. For an existing library, the default is its current
- page size.
-
- Because of LIB's indexing technique, the larger the page size, the more modules
- a library can hold. Each module requires an average of n/2 bytes of storage
- space. Therefore, you should use a small page size unless you need to put a
- very large number of modules in a library.
-
- Another consequence of LIB's indexing technique is that the page size limits
- the size of the library file to n * 65,536. For example, the option /P:16
- limits the size to 1 megabyte (16 * 65,536 bytes).
-
-
- ΓòÉΓòÉΓòÉ <hidden> / ? or ? or /H Option ΓòÉΓòÉΓòÉ
-
- Display Help
-
- Syntax: /H[ELP]
- or
- /?
- or
- ?
-
- Purpose: Displays help on LIB
-
- A brief summary of LIB syntax is displayed.
-
-
- ΓòÉΓòÉΓòÉ <hidden> /NOL or /Q Option ΓòÉΓòÉΓòÉ
-
- Suppress LIB Banner
-
- Syntax: /NOL[OGO] or /Q[UIET]
-
- Purpose: Suppresses the LIB copyright notice.
-
- This option suppresses the banner message when LIB is started. It can be used
- in batch files.
-
-
- ΓòÉΓòÉΓòÉ <hidden> LIB Commands ΓòÉΓòÉΓòÉ
-
- LIB commands are used to manipulate modules in a library. A single LIB run uses
- multiple commands in any order.
-
- Each command consists of a one- or two-character command symbol immediately
- followed by the name of the module or file that is the subject of the command.
- For example,
-
- +SORT.OBJ
-
- adds the SORT.OBJ object file to a library as SORT.
-
- Command Action
-
- [+] Adds an object file or library to a library
-
- - Deletes a module from a library
-
- -+ Replaces a module in a library
-
- * Copies a module from a library to an object file
-
- -* Moves a module (copies the module and then deletes it)
-
- Notes
-
- o If you want to enter more commands than can be conveniently entered on one
- line, type an ampersand (&) and press ENTER at the end of the line. This
- extends the command field to the next line. See Multiple Command Lines
-
- o When processing commands, LIB processes all copy commands first. LIB then
- processes the deletions and processes the additions last.
-
- o LIB never makes changes to your input library while it runs; it copies the
- library and makes changes to that copy. However, if you don't specify an
- output library, LIB overwrites the input library with the modified copy at
- the end of normal processing. See: Using the LIB Command Line.
-
- Related Topics
-
- o LIB Options
- o LIB Prompts
- o LIB Response File
-
-
- ΓòÉΓòÉΓòÉ <hidden> Add Command (+) ΓòÉΓòÉΓòÉ
-
- Use the add command to add an object module or library to a library. The add
- command is issued using the plus (+) sign or leaving a blank ( ) space.
-
- Adding an Object Module to a Library
-
- Type the name of the object file to be added immediately after the plus sign.
- The .OBJ extension may be omitted.
-
- LIB uses the base name of the object file as the name of the object module in
- the library. For example, if the object file B:\CURSOR.OBJ is added to a
- library file, the name of the corresponding object module is CURSOR.
-
- Object modules are always added to the end of a library file.
-
- Combining Two Libraries
-
- Give the name of the library file to be added, including the .LIB extension,
- immediately after the plus sign (+). A copy of the contents of that library is
- added to the library file being modified. If both libraries contain a module
- with the same name, LIB ignores the second module with that name.
-
- LIB adds the modules of the library to the end of the library being changed.
- Note that the added library still exists as an independent library because LIB
- copies the modules without deleting them.
-
- Add Command Examples
-
-
- ΓòÉΓòÉΓòÉ <hidden> Add Command: Examples ΓòÉΓòÉΓòÉ
-
- LIB MAINLIB +MALLOC;
-
- The command above adds the file MALLOC.OBJ to the library MAINLIB.LIB.
-
- LIB MATH +TRIG.LIB;
-
- The command above adds the contents of the library TRIG.LIB to the library
- MATH.LIB. The library TRIG.LIB is unchanged after this command is executed.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Delete Command (-) ΓòÉΓòÉΓòÉ
-
- Use the delete command (-) to delete an object module from a library. After the
- minus sign (-), give the name of the module to be deleted. Module names do not
- have path names or extensions.
-
- Delete command example
-
-
- ΓòÉΓòÉΓòÉ <hidden> Delete Comand: Example ΓòÉΓòÉΓòÉ
-
- LIB MAINLIB -MALLOC;
-
- The command above deletes the module MALLOC from the library MAINLIB.LIB.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Replace Command (-+) ΓòÉΓòÉΓòÉ
-
- Use the replace command (-+) to replace a module in a library. Following the
- symbol, give the name of the module to be replaced.
-
- To replace a module, LIB performs the following steps:
-
- 1. Deletes the existing module
-
- 2. Searches the current directory for the .OBJ file with the same file name
- as the deleted module
-
- 3. Appends to the library a copy of the object file with the original module
- name
-
- Replace command example
-
-
- ΓòÉΓòÉΓòÉ <hidden> Replace Command: Example ΓòÉΓòÉΓòÉ
-
- LIB MAINLIB -+MALLOC;
-
- The command above replaces the module MALLOC in the MAINLIB.LIB library with
- the contents of MALLOC.OBJ from the current directory. The file MALLOC.OBJ in
- the current directory is not altered.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Copy Command (*) ΓòÉΓòÉΓòÉ
-
- Use the copy command (*) to copy a module from the library into an object file
- of the same name. The module remains in the library.
-
- When LIB copies the module to an object file, it adds the .OBJ extension to the
- module name and places the file in the current directory. If a file with this
- name already exists, LIB overwrites the existing .OBJ file.
-
- Copy command example
-
-
- ΓòÉΓòÉΓòÉ <hidden> Copy Command: Example ΓòÉΓòÉΓòÉ
-
- LIB MAINLIB *MALLOC;
-
- The command above copies the module MALLOC from the MAINLIB.LIB library to a
- file called MALLOC.OBJ in the current directory. The module MALLOC in
- MAINLIB.LIB is not altered.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Move Command (-*) ΓòÉΓòÉΓòÉ
-
- Use the move command (-*) to copy an object module from the library file to an
- object file. The object module is then deleted from the library file. This
- operation is equivalent to copying the module to an object file, then deleting
- the module from the library.
-
- Move command example
-
-
- ΓòÉΓòÉΓòÉ <hidden> Move Command: Example ΓòÉΓòÉΓòÉ
-
- LIB MAINLIB -*START;
-
- The command above moves the module START from the MAINLIB.LIB library to a file
- called START.OBJ in the current directory. Upon completion of this process,
- MAINLIB.LIB no longer contains the module START.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Object File ΓòÉΓòÉΓòÉ
-
- An object file is produced by a compiler or assembler from one or more source
- files. An object file has an extension of .OBJ. (as in myproj.obj). In LIB,
- HPFS file names are also supported as long as the file name ends with .OBJ (as
- in myobjectfile.new.obj).
-
-
- ΓòÉΓòÉΓòÉ <hidden> Object Module ΓòÉΓòÉΓòÉ
-
- The object module is a self-contained unit within a library of precompiled or
- preassembled routines. When individual object files are combined into a single
- library file, they become object modules.
-
- In LIB, an object module is referred to by its name, without a file extension.
- For example, assume that the object file START.OBJ is inserted into a library.
- It then becomes an object module and is simply referred to as START.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Listing Level 1 Example ΓòÉΓòÉΓòÉ
-
- The syntax used to generate a listing file with level 1 option is:
-
- LIB /L:1 ALLOC, ALLOC1.LST
-
- This command generates the following listing file called ALLOC1.LST:
-
- IBM (R) Library Manager Version 1.00
- Copyright (C) IBM Corporation 1991. All rights reserved.
-
- Library name : D:\TEMP\ALLOC.LIB
-
- Listing detail level : 1
-
- 00000:malloc (OFFSET:0x00000010, SIZE:0x000004ca):
-
- - Public Definitions:
- malloc
-
- - External Definitions:
- DosAllocMem _ilog2
- _critlib_except _DosSelToFlat
- _DosFlatToSel
-
- 00001:calloc (OFFSET:0x000004e0, SIZE:0x000001d1):
- - Public Definitions:
- calloc
-
- - External Definitions:
- malloc _critlib_except
- _DosSelToFlat _DosFlatToSel
-
-
- 00002:free (OFFSET:0x000006c0, SIZE:0x0000021a):
- - Public Definitions:
- free
-
- - External Definitions:
- DosFreeMem _critlib_except
- _DosSelToFlat _DosFlatToSel
- _pBucketArr
-
-
- 00003:realloc (OFFSET:0x000008e0, SIZE:0x00000428):
- - Public Definitions:
- realloc
-
- - External Definitions:
- _ilog2 free
- malloc _critlib_except
- _DosSelToFlat _DosFlatToSel
- _pBucketArr
-
-
- 00004:heapmin (OFFSET:0x00000d10, SIZE:0x00000342):
- - Public Definitions:
- _heapmin
-
- - External Definitions:
- DosFreeMem _critlib_except
- _DosSelToFlat _DosFlatToSel
- _pBucketArr
-
-
- ΓòÉΓòÉΓòÉ <hidden> Listing Level 2 Example ΓòÉΓòÉΓòÉ
-
- The syntax used to generate a listing file with level 2 option is:
-
- LIB /L:2 ALLOC, ALLOC2.LST
-
- This command generates the following listing file called ALLOC2.LST:
-
- IBM (R) Library Manager Version 1.00
- Copyright (C) IBM Corporation 1991. All rights reserved.
-
- Library name : D:\TEMP\ALLOC.LIB
-
- Listing detail level : 2
-
- 00000:malloc(OFFSET:0x00000010,SIZE:0x000004ca):
-
- - Public Definitions:
- malloc
-
- - External Definitions:
- DosAllocMem
- _ilog2
- _critlib_except
- _DosSelToFlat
- _DosFlatToSel
-
-
- 00001:calloc (OFFSET:0x000004e0, SIZE:0x000001d1):
- - Public Definitions:
- calloc
-
- - External Definitions:
- malloc <- 00000:malloc
- _critlib_except
- _DosSelToFlat
- _DosFlatToSel
-
-
- 00002:free (OFFSET:0x000006c0, SIZE:0x0000021a):
- - Public Definitions:
- free
-
- - External Definitions:
- DosFreeMem
- _critlib_except
- _DosSelToFlat
- _DosFlatToSel
- _pBucketArr
-
-
- 00003:realloc (OFFSET:0x000008e0, SIZE:0x00000428):
- - Public Definitions:
- realloc
-
- - External Definitions:
- _ilog2
- free <- 00002:free
- malloc <- 00000:malloc
- _critlib_except
- _DosSelToFlat
- _DosFlatToSel
- _pBucketArr
-
-
- 00004:heapmin (OFFSET:0x00000d10, SIZE:0x00000342):
- - Public Definitions:
- _heapmin
-
- - External Definitions:
- DosFreeMem
- _critlib_except
- _DosSelToFlat
- _DosFlatToSel
- _pBucketArr
-
-
- ΓòÉΓòÉΓòÉ <hidden> Listing Level 3 Example ΓòÉΓòÉΓòÉ
-
- The syntax used to generate a listing file with level 3 option is:
-
- LIB /L:3 ALLOC, ALLOC3.LST
-
- This command generates the following listing file called ALLOC3.LST:
-
- IBM (R) Library Manager Version 1.00
- Copyright (C) IBM Corporation 1991. All rights reserved.
-
- Library name : D:\TEMP\ALLOC.LIB
-
- Listing detail level : 3
-
- 00000:malloc (OFFSET:0x00000010 , SIZE:0x000004ca):
-
- - Public Definitions:
- malloc
-
- - External Definitions:
- DosAllocMem
- _ilog2
- _critlib_except
- _DosSelToFlat
- _DosFlatToSel
-
-
- 00001:calloc (OFFSET:0x000004e0, SIZE:0x000001d1):
- - Public Definitions:
- calloc
-
- - External Definitions:
- malloc <- 00000:malloc
- _critlib_except
- _DosSelToFlat
- _DosFlatToSel
-
-
- 00002:free (OFFSET:0x000006c0, SIZE:0x0000021a):
- - Public Definitions:
- free
-
- - External Definitions:
- DosFreeMem
- _critlib_except
- _DosSelToFlat
- _DosFlatToSel
- _pBucketArr
-
-
- 00003:realloc (OFFSET:0x000008e0, SIZE:0x00000428):
- - Public Definitions:
- realloc
-
- - External Definitions:
- _ilog2
- free <- 00002:free
- malloc <- 00000:malloc
- _critlib_except
- _DosSelToFlat
- _DosFlatToSel
- _pBucketArr
-
-
- 00004:heapmin (OFFSET:0x00000d10, SIZE:0x00000342):
- - Public Definitions:
- _heapmin
-
- - External Definitions:
- DosFreeMem
- _critlib_except
- _DosSelToFlat
- _DosFlatToSel
- _pBucketArr
-
-
- Page size = 16
-
- Flags = 0x0
-
- Contains extended dictionary
-
- Total number of modules = 5
-
- Total bytes for modules = 4592
-
- Total number of symbols in dictionary = 10
-
- Maximum number of symbols in dictionary = 74
-
- Total number of pages for the dictionary = 2
-
-
-
- ======== Dependencies by Module ========
- Module 00000 : (00000)
- Module 00001 : (00001) 00000
- Module 00002 : (00000)
- Module 00003 : (00002) 00000 00002
- Module 00004 : (00000)
-
-
- ΓòÉΓòÉΓòÉ <hidden> /L Option Field Description ΓòÉΓòÉΓòÉ
-
- This field is the number of the module within the parent library. The first
- module number in the listing file is 00000.
-
-
- ΓòÉΓòÉΓòÉ <hidden> /L Option Field Description ΓòÉΓòÉΓòÉ
-
- This listing field contains the name of the module within the library.
-
-
- ΓòÉΓòÉΓòÉ <hidden> /L Option Field Description ΓòÉΓòÉΓòÉ
-
- This listing field contains the relative offset of the module within the
- library.
-
-
- ΓòÉΓòÉΓòÉ <hidden> /L Option Field Description ΓòÉΓòÉΓòÉ
-
- This listing field contains two columns of the module's public symbols. These
- are the symbols that are defined by the module.
-
-
- ΓòÉΓòÉΓòÉ <hidden> /L Option Field Description ΓòÉΓòÉΓòÉ
-
- This listing field contains the module's symbols that are defined in a diffrent
- module within the library. In level 1 listings, the symbols are displayed in 2
- columns. For levels 2 and 3, the symbols appear in one column.
-
-
- ΓòÉΓòÉΓòÉ <hidden> /L Option Field Description ΓòÉΓòÉΓòÉ
-
- This listing field contains the number and name of the module within the
- library that defines the corresponding public symbol.
-
-
- ΓòÉΓòÉΓòÉ <hidden> /L Option Field Description ΓòÉΓòÉΓòÉ
-
- This listing field determines case sensitivity. 0x1 indicates case sensitivity
- as opposed to 0x0.
-
-
- ΓòÉΓòÉΓòÉ <hidden> /L Option Field Description ΓòÉΓòÉΓòÉ
-
- This listing field contains the size of the object module within the library.
- The size of the module is expressed in bytes.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Base and composite projects ΓòÉΓòÉΓòÉ
-
- A project is either a base project or a composite project. A base project has
- the following characteristics:
-
- o A language profile
-
- The language profile lets the WorkFrame/2* know which compiler, linker,
- debugger and make utility to use for your project.
-
- o A title
-
- The project's title is used in title bars and in list boxes to identify the
- project.
-
- o A directory
-
- All files that comprise a project exist in this directory. If you want to
- have files in different directories, create a composite project.
-
- o A target file
-
- The target file is the product you want to produce from a project.
- Typically, it is either an executable file or a library.
-
- o A make file
-
- The make file is used by the make utility to create the target file from the
- other project files.
-
- o Options
-
- You can set the options used when compiling, linking, debugging, running,
- and making your project.
-
- A project appears within the WorkFrame/2* as a window containing a list of the
- project's files. Actions can be performed on the project as a whole or on
- individual files.
-
- A composite project is a collection of base projects or other composite
- projects. Therefore, you can create a hierarchy of projects. For example, you
- could create five base projects to build two executable files and three
- dynamic link libraries (DLLs). The three DLL projects could then be part of a
- composite DLL project. Finally, the DLL composite project and two base
- projects for the executable files could be part of an overall composite
- project. With this arrangement, you could:
-
- o Make any of the 5 base projects individually
-
- o Make the DLL composite project
-
- o Make all the projects together.
-
-
- ΓòÉΓòÉΓòÉ <hidden> Dragging From a List Box ΓòÉΓòÉΓòÉ
-
- To drag items from a list box to a target:
-
- 1. Select the items you want to drag by single-clicking with mouse button 1.
-
- 2. Hold down the mouse button 2 and move the mouse from the source list box
- to the target area. Release the mouse button when the mouse pointer is
- over the target area.
-
- Outside of valid target areas, the mouse pointer looks like a circle with a
- line through it.
-
- To stop the drag, release the mouse button over the source list box or outside
- a valid target area.