PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

  • Overview
  • Creating an internal component
  • Creating an internal component
  • Internal component: the modifications performed during the creation
  • Internal component and analysis: case of total autonomy
  • RAD and internal components with analysis
  • Notes and limits
  • Installing an application that is using internal components
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Overview
An internal component is a group of project elements. This grouping is used to:
  • Organize a project: the internal components can be used to group the project elements, by feature for example.
  • Share the elements among several projects: The elements found in an internal component can be shared between several projects via the SCM. See Sharing an internal component for more details.
One of the benefits of the internal component compared to an external component is that the internal component can be debugged from the project that is using it.
Difference with an external component:
  • An internal component allows you to include all the component elements in the interface of the project containing the internal component. All the "public" elements of the internal component can be handled in the editor directly.
  • When using an external component, the "public" elements of component cannot be handled directly. To modify the external component, the corresponding project must be opened.
See External components for more details.
Creating an internal component

Creating an internal component

To create an internal component:
  1. Select "Workshop .. Internal component .. Create an internal component". The wizard for creating an internal component starts.On the "Project" pane, in the "Project configuration" group, expand "New configuration" and select "Internal component". The wizard for creating an internal component starts.
  2. Specify the characteristics of the internal component:
    • its name. The name of internal component will be used for the WCI file corresponding to the description of internal component. This name will also be used to create a sub-directory in your project containing all the elements of internal component.
    • its caption.
    • its description.
  3. Go to the next step.
  4. Indicate the elements that will be included in the internal component. An internal component can contain all types of elements found in a project: windows, pages, reports, templates, sets of procedures, ...
    Note: If the elements included in the internal component contain links to the elements found in the project or in another internal component, a compilation error will indicate that a project element cannot be accessed from an internal component.
  5. Go to the next step.
  6. Specify the elements of internal component that will be directly accessible in the code and in the preset actions of project that is hosting the internal component.
    Note: The accessible elements (or "public" elements) will be automatically proposed by the completion. They can be used by the elements found in the project or from another internal component. The inaccessible elements (or "private" elements) can only be used by another element of the internal component (the completion will propose these "private" elements only from the elements of an internal component).
  7. Go to the next step.
  8. Specify the management mode of data and runtime contexts. Three modes are available to manage data and runtime contexts:Specify the analysis used by the internal component. Three modes are available:
    • Use the project analysis or no analysis (full share): The internal component accesses the data files of the project. The internal component and the project use the same runtime contexts.
      This mode corresponds to the default mode if the internal component is using no analysis.
    • Use the project analysis with different runtime context (advanced mode): The internal component accesses the data files of the project. The internal component and the project are using different runtime contexts.
      This mode is reserved to specific cases.
    • Use a specific analysis: The internal component accesses its own data files: it is stand-alone. The internal component and the project are using different runtime contexts.
      This mode corresponds to the default mode if the component uses an analysis.
      In this case, the analysis used by the internal component must be specified as well as its password if necessary. You also have the ability to create a new analysis directly. This analysis will be associated with the internal component.
    AndroidJava Note: If the internal component includes an analysis, this analysis will be ignored during the execution.
  9. Go to the next step.
  10. Validate the creation of internal component. You have the ability to:
Tip: An internal component contains no code for declaring the global variables. A set of procedures can be used to initialize the internal component.

Internal component: the modifications performed during the creation

When creating an internal component, the following operations are performed:
  • A sub-directory named like the internal component is created in the project.
  • The different elements assigned to the internal component are grouped in the directory of internal component. The files corresponding to the project elements are physically moved.
  • A WCI file is created in the directory of the internal component. This file contains the list of the component elements.
Internal component and analysis: case of total autonomy
An internal component can be linked to its own analysis. In this case, the project that is hosting the internal component can have several analyses:

RAD and internal components with analysis

If several analyses are available in a project, when creating windows or pages by RAD, you will have the ability to select the data files linked to the project analysis or linked to the analysis of the internal components.
The elements generated by RAD for the internal component will be generated in the directory of internal component. If the analysis of the internal component is modified, a new generation by RAD will automatically propose to generate the elements corresponding to the modifications.
Notes and limits:
  • The "Compatible 11" RAD pattern is not available for the internal components.
  • If the RAD was generated on the project then on an internal component, the templates and the dependencies will not be automatically moved into the directory of the internal component. GUI errors may occur. The operations must be performed manually.
WEBDEV - Server code The AWP pages (and therefore the AWP RAD) do not operate in the internal components.
Notes and limits
  • The internal components can be shared via the SCM only. See Sharing the internal components for more details.
  • A project element cannot be found in several internal components. A set of procedures cannot be shared between several internal components.
  • The internal components cannot be nested.
  • Managing the names of elements: The names must be unique between the elements of the project and its internal components: you cannot use an internal component containing an element whose name is already found in the project. If a conflict occurs when updating an internal component, one of the two elements with the same name must be renamed.
  • Managing the styles: If an internal component uses specific styles, only the project that owns these styles will be able to modify them. In the other projects, the styles will not be lost but they cannot be modified.
  • The reports found in an internal component must not be opened by "Reports & Queries".
  • A .NET assembly cannot be included in an internal component.
  • Versions 15 and later
    If you want to organize the elements of an internal component, you can create custom-folders in the internal component. See Custom-folders for more details.
    New in version 15
    If you want to organize the elements of an internal component, you can create custom-folders in the internal component. See Custom-folders for more details.
    If you want to organize the elements of an internal component, you can create custom-folders in the internal component. See Custom-folders for more details.
Installing an application that is using internal components
The internal components have no effect on the operations used to deploy an application or a site. All the elements found in the project (whether they are internal components or not) are taken into account when creating the executable and when creating the setup program.
Related Examples:
WD Timeline Training (WINDEV): WD Timeline
[ + ] This example proposes an internal component used to handle a 'Timeline' control template.
A timeline is used to linearly display a series of events that occurred over a given period of time.
The TPLC_TIMELINE and TPLC_TIMELINE_DOUBLE control templates are used to manage and display a timeline of events.
WD Drawing on Chart Training (WINDEV): WD Drawing on Chart
[ + ] This example is based on an internal component used to draw elements on a chart control:
- Min/Max areas
- Various areas
- Flags
- Plots and trackers
...
WD DirectX Training (WINDEV): WD DirectX
[ + ] DirectX is a set of libraries (or APIs) intended for programming multimedia applications.
This example includes an internal component allowing you to use DirectX 9.0 in your WINDEV applications.
All the APIs and interfaces of DirectX 9 have been implemented.
WD BGInfo Sample components (WINDEV): WD BGInfo
[ + ] This example explains how to write information on the background screen of a computer (IP address, name of the computer, today's date, etc.).
This feature can be easily included in an existing application by using the internal component found in this example.
WD WindowsUpdate Training (WINDEV): WD WindowsUpdate
[ + ] This example explains how to manage the updates available on Windows Update. It provides an internal component allowing to download the updates and to install them.
You also have the ability to retrieve some specific information about the updates (minimum disk space required, importance level, etc.)
Minimum required version
  • Version 12
This page is also available for…
Comments
Click [Add] to post a comment