From fb165c868781cec4e2b0416de47a3a8bad4b389d Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Tue, 1 Sep 2026 17:23:33 +0200 Subject: [PATCH 1/7] first step --- docs/Notes/updates.md | 1 + docs/Project/compiler.md | 53 ++++++++++++++++++- docs/assets/en/Project/compile-component.png | Bin 0 -> 15780 bytes 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 docs/assets/en/Project/compile-component.png diff --git a/docs/Notes/updates.md b/docs/Notes/updates.md index a7bfd5c06384f6..8a022fbafefa30 100644 --- a/docs/Notes/updates.md +++ b/docs/Notes/updates.md @@ -11,6 +11,7 @@ Read [**What’s new in 4D 21 R5**](https://blog.4d.com/whats-new-in-4d-21-r5/), #### Highlights - Support of S/MIME email signing through new [`4D.SMTPTransporter`](../API/SMTPTransporterClass.md) class properties: [`.certificate`](../API/SMTPTransporterClass.md#certificate) or [`.certificateName`](../API/SMTPTransporterClass.md#certificatename) (certificate providing), and [`.certificatePassword`](../API/SMTPTransporterClass.md#certificatepassword). +- You can now [compile a component directly from the host](../Project/compiler.md#compile-components). - [**Fixed bug list**](https://bugs.4d.fr/fixedbugslist?version=21_R5): list of all bugs that have been fixed in 4D 21 R5. diff --git a/docs/Project/compiler.md b/docs/Project/compiler.md index c3a8988fe39092..3eb495be7edaf9 100644 --- a/docs/Project/compiler.md +++ b/docs/Project/compiler.md @@ -38,7 +38,58 @@ Use the **Previous Error** / **Next Error** commands of the **Method** menu to n The number of errors found during your first compilations may be daunting, but do not let this put you off. You will soon discover that they often spring from the same source, i.e., non-compliance with certain project conventions. The compiler always provides a [precise diagnosis](#error-file) of the errors in order to help you correct them. -> Compilation requires an appropriate license. Without this license, it is not possible to carry out a compilation (buttons are disabled). Nevertheless, it is still possible to check the syntax and generate Typing methods. +:::note + +Compilation requires an [appropriate license](../Admin/licenses.md). Without this license, it is not possible to carry out a compilation (buttons are disabled). Nevertheless, it is still possible to check the syntax and generate Typing methods. + +::: + +### Compile components + +
History + +|Release|Changes| +|---|---| +|21 R5|Added| + +
+ +While developing your application, you can compile the components used by the host project directly from the host project, without having to open them separately. When the host project contains one or more *eligible* components (see [Requirements](#requirements) below), an additional menu is displayed in the Compiler window. This menu lets you select which project(s) you want to compile: + +- the host project only (default) +- the host project and all its eligible components +- a single eligible component among the list of all eligible components. + +![](../assets/en/Project/compile-component.png) + +:::note + +You can open the Compiler window from the **Methods>Component Methods**"** section of the Explorer: right-click on an eligible component name and select **Compiler...** from the contextuel menu. + +::: + + +#### Requirements + +To be eligible for compilation from the host project, a component must comply with the following requirements: + +- the component uses the [project architecture](../Project/architecture.md), +- the component's [interpreted code](../Concepts/interpreted.md) is available and the component is not [running in compiled mode](#run-compiled), +- the component uses [direct typing](#enabling-direct-typing) declarations. + +:::note + +The additional menu is not displayed if the project does not contain any eligible component. + +::: + +#### Compiler features & Settings + +All available features of the Compiler window are applied to the selected component(s): **Compile**, **Check syntax**, **Clear compiled code**. + +The [Settings](../settings/) cannot be edited when a component is selected (the button is dimmed). Each component's [settings](../settings/) are applied for the compilation, except for the [Compiler Options](#compilation-options): the "Generate file" options of the host project override the component's options. + + ## Run Compiled diff --git a/docs/assets/en/Project/compile-component.png b/docs/assets/en/Project/compile-component.png new file mode 100644 index 0000000000000000000000000000000000000000..02684ee969a8be11fc20d68f5510f14c46a3e2fa GIT binary patch literal 15780 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 Date: Tue, 1 Sep 2026 17:46:12 +0200 Subject: [PATCH 2/7] default namespace --- docs/Extensions/develop-components.md | 21 ++++++++++++++++++--- docs/Project/components.md | 4 ++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/docs/Extensions/develop-components.md b/docs/Extensions/develop-components.md index 1782b7b8af47c7..f37f26d2186c75 100644 --- a/docs/Extensions/develop-components.md +++ b/docs/Extensions/develop-components.md @@ -35,7 +35,7 @@ Creating and installing 4D components is carried out directly from 4D: :::note -Interpreted component code can be [edited directly from the host project](#editing-components) if the context is supported. +Interpreted component code can be [edited](#editing-components) and [compiled](../Project/compiler.md#compile-components) directly from the host project if the context is supported. ::: @@ -55,9 +55,10 @@ This action opens a folder selection dialog where you choose where [the componen * If you decide to store the component **next to the project package**, 4D adds it to the [`dependencies.json`](../Project/components.md#dependenciesjson) file. * If you decide to store the component **elsewhere**, 4D adds it to the [`dependencies.json`](../Project/components.md#dependenciesjson) file and its path is added to the [`environment4d.json`](../Project/components.md#environment4djson) file, using either a [relative or an absolute path](../Project/components.md#relative-paths-vs-absolute-paths). A relative path is used if the component is located within no more than two levels above as the `environment4d.json` file, or in its subfolders. Otherwise, an absolute path is used. -:::note +:::note Notes -You cannot store a component **in the project package** but **outside the Components folder**. +- You cannot store a component **in the project package** but **outside the Components folder**. +- When a component is created from the host, it is assigned a [default namespace](#default-namespace). ::: @@ -116,6 +117,11 @@ Standard 4D IDE features are available for the component. You can execute the fo - run methods, - restore from trash or empty trash. +### Compiling component + +You can compile a component [directly from the host project](../Project/compiler.md#compile-components), without having to open it separately, provided it is compliant with the [requirements](../Project/compiler.md#requirements). + + ### Search and replace @@ -250,6 +256,15 @@ $rect:=cs.eGeometry._Rectangle.new(10;20) > Non-hidden functions inside a hidden class appear as suggestions when you use code completion with a class that [inherits](../Concepts/classes.md#inheritance) from it. For example, if a component has a `Teacher` class that inherits from a `_Person` class, code completion for `Teacher` suggests non-hidden functions from `_Person`. +### Default namespace + +When a new component is [created from the host](#creating-components), a default namespace is automatically assigned to the component. + +The default namespace is the same as the component's name, without characters that do not comply with [property naming rules](../Concepts/identifiers.md#object-properties). For example, for a component named "My Component-2", the default namespace will be "MyComponent2". + + + + ## Code completion for compiled components To make your component easier to use for developers, you can check the [**Generate syntax file for code completion when compiled** option in the General page](../settings/general.md#component-namespace-in-the-class-store) of the matrix project Settings. diff --git a/docs/Project/components.md b/docs/Project/components.md index ee51c82b90e57f..9c3e21f17a0705 100644 --- a/docs/Project/components.md +++ b/docs/Project/components.md @@ -5,7 +5,7 @@ title: Dependencies -The 4D [project architecture](../Project/architecture.md) is modular. You can provide additional functionalities to your 4D projects by installing [**components**](Concepts/components.md) and [**plug-ins**](../Concepts/plug-ins.md). Components are made of 4D code, while plug-ins can be [built using any language](../Extensions/develop-plug-ins.md). +The 4D [project architecture](../Project/architecture.md) is modular. You can provide additional functionalities to your 4D projects by installing [**components**](../Concepts/components.md) and [**plug-ins**](../Concepts/plug-ins.md). Components are made of 4D code, while plug-ins can be [built using any language](../Extensions/develop-plug-ins.md). You can [develop](../Extensions/develop-components.md) and [build](../Desktop/building.md) your own 4D components, or download public components shared by the 4D community that [can be found for example on GitHub](https://github.com/topics/4d-component). @@ -16,7 +16,7 @@ Once installed in your 4D environment, extensions are handled as **dependencies* ## Interpreted and compiled components -Components can be interpreted or [compiled](../Desktop/building.md). +Components can be interpreted or [compiled](./compiler.md#compile-components). - A 4D project running in interpreted mode can use either interpreted or compiled components. - A 4D project running in compiled mode cannot use interpreted components. In this case, only compiled components can be used. From 800b7ebfd78aaba2616a2e7e186c9cb9dfc24326 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 3 Sep 2026 10:11:50 +0200 Subject: [PATCH 3/7] Update develop-components.md --- docs/Extensions/develop-components.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Extensions/develop-components.md b/docs/Extensions/develop-components.md index f37f26d2186c75..58d172135a0bab 100644 --- a/docs/Extensions/develop-components.md +++ b/docs/Extensions/develop-components.md @@ -18,7 +18,7 @@ You can develop 4D components for your own needs and keep them private. You can :::note -You can [create a component directly from the host](#creating-components) project without needing to go through a separate matrix project +You can [create a component directly from the host](#creating-components) project without needing to go through a separate matrix project. ::: @@ -41,7 +41,7 @@ Interpreted component code can be [edited](#editing-components) and [compiled](. ## Creating and editing components from the host -In interpreted mode, the 4D IDE allows you to create and edit components directly from the host project. It facilitates component development and tuning in the actual context of a host project without having to leave or restart it. +In interpreted mode, the 4D IDE allows you to create, edit, and compile components directly from the host project. It facilitates component development and tuning in the actual context of a host project without having to leave or restart it. ### Creating components @@ -117,7 +117,7 @@ Standard 4D IDE features are available for the component. You can execute the fo - run methods, - restore from trash or empty trash. -### Compiling component +### Compiling components You can compile a component [directly from the host project](../Project/compiler.md#compile-components), without having to open it separately, provided it is compliant with the [requirements](../Project/compiler.md#requirements). From ff979ced88496ab18049dccf9c1eeae2e434cd19 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 3 Sep 2026 11:32:25 +0200 Subject: [PATCH 4/7] Update develop-components.md --- docs/Extensions/develop-components.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/Extensions/develop-components.md b/docs/Extensions/develop-components.md index 58d172135a0bab..47c76f18a6b8e8 100644 --- a/docs/Extensions/develop-components.md +++ b/docs/Extensions/develop-components.md @@ -119,7 +119,7 @@ Standard 4D IDE features are available for the component. You can execute the fo ### Compiling components -You can compile a component [directly from the host project](../Project/compiler.md#compile-components), without having to open it separately, provided it is compliant with the [requirements](../Project/compiler.md#requirements). +You can compile a component [directly from the host project](../Project/compiler.md#compile-components) without having to open it separately, provided it is compliant with the [requirements](../Project/compiler.md#requirements). @@ -212,7 +212,7 @@ By default, component classes cannot be called from the 4D Code Editor of the ho ### Declaring the component namespace -To allow classes of your component to be exposed in the host projects and their loaded components, enter a value in the [**Component namespace in the class store** option in the General page](../settings/general.md#component-namespace-in-the-class-store) of the matrix project Settings. By default, the area is empty: component classes are not available outside of the component context. +To allow classes of your component to be exposed in the host projects and their loaded components, enter a value in the [**Component namespace in the class store** option in the General page](../settings/general.md#component-namespace-in-the-class-store) of the matrix project Settings. By default, the area is empty (except when the component is [created from the host](#default-namespace)): component classes are not available outside of the component context. ![](../assets/en/settings/namespace.png) @@ -243,6 +243,15 @@ Of course, it is recommended to use a distinguished name to avoid any conflict. A component's ORDA classes are not available in its host project. For example, if there is a dataclass called Employees in your component, you will not be able to use a "cs.Mycomponent.Employee" class in the host project. +#### Default namespace + +When a new component is [created from the host](#creating-components), a default namespace is automatically assigned to the component. + +The default namespace is the component's name, without characters that do not comply with [property naming rules](../Concepts/identifiers.md#object-properties), if any. For example, for a component named "My Component-2", the default namespace will be "MyComponent2". + + + + ### Hidden classes Just like in any project, you can create hidden classes and functions in the component by prefixing names with an underscore ("_"). When a [component namespace is defined](#declaring-the-component-namespace), hidden classes and functions of the component will not appear as suggestions when using code completion. @@ -256,13 +265,6 @@ $rect:=cs.eGeometry._Rectangle.new(10;20) > Non-hidden functions inside a hidden class appear as suggestions when you use code completion with a class that [inherits](../Concepts/classes.md#inheritance) from it. For example, if a component has a `Teacher` class that inherits from a `_Person` class, code completion for `Teacher` suggests non-hidden functions from `_Person`. -### Default namespace - -When a new component is [created from the host](#creating-components), a default namespace is automatically assigned to the component. - -The default namespace is the same as the component's name, without characters that do not comply with [property naming rules](../Concepts/identifiers.md#object-properties). For example, for a component named "My Component-2", the default namespace will be "MyComponent2". - - ## Code completion for compiled components From 697b01070e4bc6a692f918f9698d4c11e48f08ef Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 10 Sep 2026 17:04:38 +0200 Subject: [PATCH 5/7] after closure --- docs/Extensions/develop-components.md | 2 +- docs/Project/compiler.md | 20 ++++++++++++++++-- docs/assets/en/Develop/editable-component.png | Bin 57867 -> 17206 bytes 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/docs/Extensions/develop-components.md b/docs/Extensions/develop-components.md index 47c76f18a6b8e8..1a2f7a05918220 100644 --- a/docs/Extensions/develop-components.md +++ b/docs/Extensions/develop-components.md @@ -81,7 +81,7 @@ In this context, you can open, edit, and save your component code in the Code ed [Exposed component classes](#sharing-of-classes) and [shared methods](#sharing-of-project-methods) of your component can be edited from the **Component Methods** tab of the Explorer. -A specific icon indicates that the component contains shared code):
+A specific icon indicates that the component contains shared code:
![](../assets/en/Develop/editable-component.png) Select **Edit...** to open your component code in the Code editor. You can edit and save it. diff --git a/docs/Project/compiler.md b/docs/Project/compiler.md index 3eb495be7edaf9..85c93a0df62aec 100644 --- a/docs/Project/compiler.md +++ b/docs/Project/compiler.md @@ -64,10 +64,17 @@ While developing your application, you can compile the components used by the ho :::note -You can open the Compiler window from the **Methods>Component Methods**"** section of the Explorer: right-click on an eligible component name and select **Compiler...** from the contextuel menu. +You can open the Compiler window from the **Methods>Component Methods** section of the Explorer: right-click on an eligible component name and select **Compiler...** from the contextuel menu. ::: +A hierarchical list of components being compiled is displayed in the Compiler window. If an error is detected in a component, its compilation is stopped but the process continues for other components. +- Components with at least one error can be unfolded to display the list of errors and appear **in bold** +- Components with at least one warning can be unfolded to display the list of warnings. + + + + #### Requirements @@ -87,7 +94,16 @@ The additional menu is not displayed if the project does not contain any eligibl All available features of the Compiler window are applied to the selected component(s): **Compile**, **Check syntax**, **Clear compiled code**. -The [Settings](../settings/) cannot be edited when a component is selected (the button is dimmed). Each component's [settings](../settings/) are applied for the compilation, except for the [Compiler Options](#compilation-options): the "Generate file" options of the host project override the component's options. +The [Settings](../settings/) cannot be edited when a component is selected (the button is dimmed). + +Each component's [settings](../settings/) are applied for the compilation, except the [error file and symbol file generation options](#compilation-options): settings of the host project override the component's options. When enabled, [error and warning file](#error-file) as well as [symbol file](#symbol-file) of each component are stored in the [**Logs** folder of the host project](../Project/architecture.md#logs), within a dedicated folder (the name of the folder is the component name). + + +#### Compilation flow + +If errors are detected, the process is stopped and the "Compilation failed" message is displayed. The information area of the window displays the method names and line numbers concerned in a hierarchical list: + + diff --git a/docs/assets/en/Develop/editable-component.png b/docs/assets/en/Develop/editable-component.png index ed546ea2c08ee6ebacf790e3d88f2e73e0988e9f..08c7f2e16442ee60d3cf0d54e86d88d598f9cd31 100644 GIT binary patch literal 17206 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 O{3yz*%2Y_1!2cJ@EFnh# literal 57867 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 From 203717fc7f1e3b1f52070ac48eaf6a607c4f4156 Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Thu, 10 Sep 2026 18:19:12 +0200 Subject: [PATCH 6/7] Update compiler.md --- docs/Project/compiler.md | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/docs/Project/compiler.md b/docs/Project/compiler.md index 85c93a0df62aec..a402f0748dbbcb 100644 --- a/docs/Project/compiler.md +++ b/docs/Project/compiler.md @@ -68,10 +68,11 @@ You can open the Compiler window from the **Methods>Component Methods** section ::: -A hierarchical list of components being compiled is displayed in the Compiler window. If an error is detected in a component, its compilation is stopped but the process continues for other components. -- Components with at least one error can be unfolded to display the list of errors and appear **in bold** -- Components with at least one warning can be unfolded to display the list of warnings. +A list of components being compiled is displayed in the Compiler window. If an error is detected in a component, its compilation is stopped but the process continues for other components. +- Components with at least one error can be unfolded to display the list of errors and appear **in bold**. +- Components with at least one warning can be unfolded to display the list of warnings. +- Components wihout errors cannot be unfolded. @@ -99,13 +100,6 @@ The [Settings](../settings/) cannot be edited when a component is selected (the Each component's [settings](../settings/) are applied for the compilation, except the [error file and symbol file generation options](#compilation-options): settings of the host project override the component's options. When enabled, [error and warning file](#error-file) as well as [symbol file](#symbol-file) of each component are stored in the [**Logs** folder of the host project](../Project/architecture.md#logs), within a dedicated folder (the name of the folder is the component name). -#### Compilation flow - -If errors are detected, the process is stopped and the "Compilation failed" message is displayed. The information area of the window displays the method names and line numbers concerned in a hierarchical list: - - - - ## Run Compiled From 1900aad3bb2452916cba9f9e1f2b14f6b92811ae Mon Sep 17 00:00:00 2001 From: arnaud-4d Date: Fri, 11 Sep 2026 16:08:02 +0200 Subject: [PATCH 7/7] added component list --- docs/Project/compiler.md | 2 ++ .../en/Project/compile-components-errors.png | Bin 0 -> 20712 bytes 2 files changed, 2 insertions(+) create mode 100644 docs/assets/en/Project/compile-components-errors.png diff --git a/docs/Project/compiler.md b/docs/Project/compiler.md index a402f0748dbbcb..c115826c26e907 100644 --- a/docs/Project/compiler.md +++ b/docs/Project/compiler.md @@ -99,7 +99,9 @@ The [Settings](../settings/) cannot be edited when a component is selected (the Each component's [settings](../settings/) are applied for the compilation, except the [error file and symbol file generation options](#compilation-options): settings of the host project override the component's options. When enabled, [error and warning file](#error-file) as well as [symbol file](#symbol-file) of each component are stored in the [**Logs** folder of the host project](../Project/architecture.md#logs), within a dedicated folder (the name of the folder is the component name). +When you start a compilation or a syntax check, every processed project is listed in the compiler window. If errors or warnings are detected, they are displayed in hierarchical lists beneath the corresponding project. Projects that contain errors are displayed in **bold**: +![](../assets/en/Project/compile-components-errors.png) ## Run Compiled diff --git a/docs/assets/en/Project/compile-components-errors.png b/docs/assets/en/Project/compile-components-errors.png new file mode 100644 index 0000000000000000000000000000000000000000..918456d9d59c437132788314acaa98b7e0f3d736 GIT binary patch literal 20712 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