4D v16.3OBJECT DUPLICATE |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
OBJECT DUPLICATE
OBJECT DUPLICATE
O comando OBJECT DUPLICATE permite criar uma cópia do objeto designado pelo parâmetro objeto no contexto do formulário que está sendo executado (modo Aplicação). O formulário de origem, gerado em modo Desenho, não se modifica. Automaticamente, todas as opções definidas na lista de propriedades para o objeto fonte se aplicam a cópia (tamanho, opções de redimensionamento, cor, etc.), incluindo o método de objeto associado. Entretanto, se devem considerar as seguintes exceções:
Se passa o parâmetro opcional *, indica que o parâmetro objeto é um nome de objeto (string). Se não passa este parâmetro, indica que o parâmetro objeto é um campo ou uma variável. Neste caso, passe uma referência do campo ou variável (campos ou variáveis objeto unicamente) ao invés de uma string. Passe no parâmetro novoNom o nome atribuido a cópia do objeto. Este nome deve ser de acordo com a regras de nome de objetos e ser único no formulário. Se não é válido ou já está sendo utilizado por outro objeto, o comando não faz nada e a variável OK devolve 0.
Passe em novaVar um ponteiro a variável a associar ao novo objeto. Em principio, deve estar dirigido a uma variável do mesmo tipo que o do objeto fonte mas em alguns casos é possível mudar o tipo. O comando oferece funções automáticas para facilitar a escritura de código genérico:
Se o tipo da variável não é compatível com o objeto, o comando não faz nada e a variável OK toma o valor 0. Se omite este parâmetro, a variável é criada dinâmicamente por 4D (ver o parágrafo “variáveis dinâmicas” na seção ). Se duplicar um objeto estático (linhas, retângulo, imagem estática, etc.), este parâmetro é ignorado. Passe um ponteiro Nil (->[]) se quiser poder utilizar os outros parâmetros. Utilize o parâmetro relacionadoA em dois casos:
Se omite este parâmetro ou passa uma string vazia, o novo objeto é convertido no último objeto editável da página do formulário. No caso de um botão de opção, o objeto se associa ao grupo do botão fonte. O novo objeto pode ser movido e redimensionado através dos parâmetros moveH, moveV, redimH e redimV. Como para o comando OBJECT MOVE, o sentido de deslocamento ou redimensionamento é definido pelo signo dos valores passados nos parâmetros moveH e moveV:
Por definição, os valores de moveH, moveV, redimH e redimV modificam as coordenadas do objeto em relação com sua posição anterior. Se quer que estes parâmetros especifiquem coordenadas absolutas, passe o parâmetro opcional *. Este comando deve ser utilizado no contexto da visualização de um formulário. Geralmente se chama o evento On Load do formulário ou depois uma ação usuário (evento On Clicked). Nota: se o evento On Load está associado ao objeto de origem, é gerado para o objeto duplicado ao executar o comando. Isto permite, por exemplo, inicializar o valor do objeto. Por razões técnicas e lógicas, OBJECT DUPLICATE não pode ser chamada dentro de certos eventos de formulário, em particular:
Quando o comando se chama em um contexto não compatível, o objeto não é duplicado e a variável OK toma o valor 0. Se chama em um contexto de impressão, o erro -10601 é gerado também. Criação de um novo botão chamado "BotãoCancelar" sobre o objeto existente "BotãoOk" e associação com a variável vCancelar: OBJECT DUPLICATE(*;"BotaoOK";"BotaoCancelar";vCancelar) Criação de um novo botão opção "bRadio6" baseado no botão opção existente "bRadio5". Este botão será associado à variável <>r6, integrada com o grupo do botão "bRadio5" e localizado 20 píxels acima: OBJECT DUPLICATE(*;"bRadio5";"bRadio6";<>r6;"bRadio5";0;20)
Ver também
OBJECT Get pointer
|
PROPRIEDADES
Produto: 4D HISTÓRIA
Criado por: 4D v12 ARTICLE USAGE
Manual de linguagem 4D ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||