Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
Compile project
|
Compile project {( {arquivoProjeto}{;}{opções} )} -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
arquivoProjeto | Objeto arquivo |
![]() |
Arquivo .4DProject a compilar | |||||
opções | Objeto |
![]() |
Objeto que especifica opções de compilação | |||||
Resultado | Objeto |
![]() |
Objeto que contém informação do status da compilação | |||||
Compile project permite compialr o projeto do host atual ou o projeto especificado no parâmetro projectFile. Para saber mais sobre compilação, veja a página de compilação em developer.4d.com.
Como padrão, o comando usa as opções de compilador definidas nas Configurações de Estrutura. Pode ignorá-las usando o parâmetro options. As sintaxes abaixo são permitidas:
Nota: bancos de dados binários não podem ser compilados usando esse comando.
Diferente da janela do Compilador, esse comando precisa que determine explicitamente os componentes a compilar. Quando compilar um projeto com Compile project , precisa declarar seus componentes usando a propriedade componentes do parâmetro options. Lembre que os componentes já devem estar compilados (componentes binários são permitidos).
O modo resultante compilado será armazenado na pasta DerivedData ou Libraries do projeto, dependendo da propriedade targets/alvos do parâmetro options. Se quiser criar arquivos .4dz, ainda precisa zipar/comprimir manualmente o projeto compilado ou usa a funcionalidade build application.
Se passar uma coleção vazia em targets, Compile project executa uma checagem de sintaxe sem compilar.
Erros de compilação, se houverem, serão retornadas como objetos na coleção erros.
Nota: não se pode chamar esse comando quando outra compilação estiver rodando (por exemplo uma compilação lançada na janela Compilation).
O parâmetro options é um objeto. As opções de compilação disponíveis estão abaixo:
Propriedade | Tipo | Descrição |
targets | collection of strings | valores possíveis: "x86_64_generic", "arm64_macOS_lib". Passe uma coleção vazia para executar apenas checagem de sintaxe |
typeInference | String | "all": Digite todas as variáveis, "locals": Processo e interprocesso são digitadas, "none": Todas as variáveis são digitadas |
defaultTypeForNumerics | Integer | Valor possível: Is real ou Is longint |
defaultTypeForButtons | Integer | Valor possível: Is real ou Is longint |
generateSymbols | Boolean | True para gerar informação de simbolo no objeto retornado .symbol |
generateTypingMethods | String | Reseta ou anexa para gerar métodos digitação. Se valor for "append"/anexar, declarações de variável existentes ão são modificadas (comportamento janela de compilador) |
components | collection | Coleção de objetos 4D.File para componentes dependentes (deve já ter sido compilado) |
O objeto retornado por Compile project tem três propriedades:
Propriedade | Tipo | Descrição | ||
success | Boolean | True se a ação salvar tiver sucesso. Senão False. | ||
Disponível só em caso de erro ou aviso: | ||||
errors | Collection of objects | coleção de objetos descrevendo avisos ou erros de compilação | ||
isError | Boolean | Erro se True, senão um aviso | ||
message | String | Mensagem de erro | ||
code | Object | Objeto code | ||
line | Number | Número de linha de erro no código. Para métodos de classe, número de linha na função | ||
lineInFile | Number | Número linha no arquivo (diferente de métodos classe "line" , e leva em consideração os %attributes linha prefixo) | ||
Disponível só se a opção generateSymbols for estabelecida como True: | ||||
symbols | Object | |||
interprocessVariables | Object | Lista de todas as variáveis interprocesso | ||
variables | Collection | Coleção de Objetos variable | ||
size | Number | |||
processVariables | Object | Lista de todos as variáveis processo | ||
variables | Collection | Coleção de Objetos variable | ||
size | Number | |||
localVariables | Coleção de objetos | Lista de variáveis locais por método | ||
code | Object | Objeto code | ||
variables | Collection | Coleção de Objetos variable | ||
methods | Coleção de objetos | Lista de métodos | ||
code | Object | Objeto code | ||
callCount | Number | Número de vezes que esse método foi chamado | ||
params | Collection | Coleção de tipos parâmetros (Códigos númericos de tipo valor) | ||
threadSafe | Boolean | Indica se este método é thread safe |
Para saber mais, veja Compilation tools.
Tanto interprocessVariables.variables quanto processVariables.variables contém objetos com as estruturas abaixo:
Propriedade | Tipo | Descrição |
name | String | Nome da variável |
type | number | Ttipo da variável (como comando tipo Value) |
arrayDimension | number | Apenas para arrays: 1 para arrays dimensão mono, 2 para arrays duas dimensões |
code | Object | Para variáveis processos e interprocessos: descripitor de onde a variável foi definida |
A propriedade code em methods[ ].code e errors[ ].code é um objeto com as propriedades abaixo:
Propriedade | Tipo | Descrição |
type | String |
|
path | String | Rota método (mesmo formato que METHOD OPEN PATH) |
file | 4D.File | Arquivo de método |
Retornado dependendo do valor da propriedade tipo: | ||
methodName | String | método projeto |
table | Number | Número da tabela (retornado para um trigger, um método formulário tabela ou método objeto formulário tabela) |
formName | String | nome formulário (retornado para um método formulário) |
objectName | String | Nome objeto formulário (retornado para um método objeto) |
className | String | Class name |
functionName | String | nome função Class |
databaseMethod | Number | índice método de Database |
Para fazer uma checagem de sintaxe apenas, passe uma coleção vazia aos parâmetros alvos:
var $options;$status : Object
$options:=New object
$options.targets:=New collection //Coleção vazia para checar sintaxe
$status:=Compile project($options)
Compilar o projeto atual usando as opções compilador da Configuração Estrutura apenas:
var $status : Object
$status:=Compile project
Em um Silicon Mac, compile o projeto atual para apenas ARM:
var $options;$status : Object
$options:=New object
$options.targets:=New collection("arm64_macOS_lib")
$status:=Compile project($options)
Compilar um projeto outro que o projeto atual :
var $status : Object
var $projectFile: 4D.File
$projectFile:=Folder(fk documents folder).file("Databases/myApp/Project/myApp.4DProject")
$status:=Compile project($projectFile)
Compile um projeto e declare seus componentes:
var $options;$status : Object
var $component : 4D.File
$options:=New object
$component:=Folder(fk documents folder).file("Components/myComponent.4dz")
$options.components:=New collection($component)
$status:=Compile project($options)
Produto: 4D
Tema: Compilador
Número
1760
Criado por: 4D v19
Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)
Manual de linguagem 4D ( 4D v19.4)
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)