Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Ferramentas e Utilitários

Capítulo 3: Analisador do TSD Script

Retornar ao Índice


Introdução

Visão Geral

O Analisador do TSD Script converte arquivos de texto ASCII que contêm código fonte do Developer's Toolkit para um formato binário utilizado para construir arquivos de aplicativos. O Analisador do TSD Script converte arquivos .kb em arquivos .kbc.

O Analisador do TSD Script está disponível em uma versão do prompt de comandos (kp.exe) e em uma versão em janela (kpw.exe).

Nota: Estes são iguais no UNIX, exceto para a extensão .exe.

Como Pesquisar Arquivos Fonte

Como verificar diretórios de arquivos fonte

Quando o Analisador do TSD Script procura um arquivo fonte que não tem nenhum diretório especificado explicitamente, ele verifica os diretórios na seguinte ordem:

  1. Quaisquer diretórios especificados no prompt de comandos para outros arquivos .kb por meio do
    argumento -U (ou -F) ou como parte de uma especificação de nome de arquivo
  2. O diretório atual
  3. O diretório que contém a biblioteca kmli510 (somente para Windows e OS/2)
  4. Quaisquer diretórios especificados no SAIPATH
  5. Quaisquer diretórios especificados no dpath (somente OS/2)
  6. Quaisquer diretórios especificados no caminho

Como Utilizar o Analisador do TSD Script

Como Abrir o Analisador do TSD Script

Você pode abrir o Analisador do TSD Script utilizando um dos seguintes métodos:

  1. No menu Iniciar, aponte para Programas, Developer's Toolkit e, em seguida, escolha Analisador do TSD Script.
  2. No prompt de comandos, digite o seguinte e pressione Enter:

    kpw [opção] [arquivo .kb ...]

Como utilizar a caixa de diálogo Analisador do TSD Script

A caixa de diálogo Analisador do TSD Script é utilizada para especificar o arquivo .kb para analisar e definir opções de análise.

Nota: Utilizar chaves no prompt de comandos é o mesmo que digitar comandos nas caixas de texto.

  1. Abra o Analisador do TSD Script.
  2. Escolha o separador Analisador e digite ou selecione as opções de análise apropriadas:
  1. Escolha o separador Avançado (opcional).
  2. Digite as informações nas caixas:
  1. Após todas as entradas e seleções terem sido feitas, escolha Executar.

Diferenças entre analisar um único arquivo e todos os seus arquivos

Antes de analisar somente um arquivo, certifique-se de que as alterações feitas no arquivo não afetam outros arquivos .kb.

Utilize a opção Construir para analisar seu aplicativo inteiro, quando tiver feito alterações em mais de um arquivo .kb. Isso garantirá que todos os arquivos .kb alterados sejam analisados.

Nota: Recomenda-se que você escolha a opção Construir se não souber o efeito que um arquivo .kb alterado tem sobre outros arquivos .kb.

Argumentos do Prompt de Comandos

Introdução

A versão da linha de comandos do Analisador do TSD Script aceita os seguintes argumentos:
-a, -b, -c, -d, -e, -f, -u, -l, -m, -o, -p, -q, -s, -x, -ide, -help

Nota: Você pode definir automaticamente o Analisador do TSD Script para utilizar comandos de análise editando a seção TDT KML Parser no arquivo softart.ini.

Um parâmetro pode seguir o caractere de argumento (sem espaço) ou precedê-lo com um símbolo de igual (=) ou dois-pontos (:). Os seguintes exemplos conseguem o mesmo efeito:

-uf:\sai\ea
-u=f:\sai\ea
-u:f:\sai\ea

Os argumentos válidos para o Analisador do TSD Script são mostrados na tabela a seguir.

Argumento Valor Comentário
-a<identificador> Assert Instala o identificador no banco de dados interno do Analisador do TSD Script para que o texto fonte delimitado na construção #IF ... #ENDIF seja convertido. Mais informações sobre símbolos de declaração podem ser encontradas na documentação específica para seu aplicativo.
-b Build Inicia o Analisador do TSD Script para converter quaisquer arquivos .kb especificados no prompt de comandos. Além disso, analisa arquivos .kb referidos em qualquer seção USES. Se você especificar a opção -b quando analisar o arquivo .kb contendo um ponto de entrada do aplicativo, o Analisador do TSD Script reconstruirá o aplicativo.
-c <unidade> <caminho> n/a As chaves para a unidade e diretório especificados.
-d <identificador> Deny Remove o identificador do banco de dados interno do Analisador do TSD Script para que o texto fonte delimitado na construção #IF ... #ENDIF seja ignorado.
-e <arquivo> Error Envia mensagens de erro geradas pelo Analisador do TSD Script para o arquivo especificado. Se nenhuma mensagem de erro for gerada, o arquivo especificado será removido automaticamente.
-f <caminho> <módulo> .KB Shorthand Notation Equivalente a digitar a linha:

kp-u=<caminho> <módulo>

-l

-l <arquivo>

-l+

List Gera uma lista de texto fonte. Se você especificar a opção -l, a lista será enviada para saída padrão. Se especificar um nome de arquivo (-l<arquivo>), a lista será enviada para o arquivo. Se especificar a opção -l+, a lista será enviada para um arquivo cujo nome consiste no nome do arquivo .kb com uma extensão .lst. (O nome do arquivo .kb pode ser alterado para as convenções de nome de arquivo do sistema operacional). As mensagens de erro geradas pelo Analisador do TSD Script são gravadas no arquivo de lista, a menos que outro arquivo de erro seja especificado utilizando a opção -E.
-m Make Inicia o Analisador do TSD Script para analisar o arquivo .kb referido em um aplicativo. Se existir um arquivo .kbc que não seja mais antigo do que o código fonte atual, o Analisador do TSD Script não analisará novamente o arquivo.
-o <diretório>

-o=<diretório>

-o:<diretório>

n/a Especifica o diretório de saída onde todos os arquivos kbc gerados são gravados. Por padrão, o Analisador gera arquivos .kbc para o diretório onde o arquivo .kb está localizado.
-p=oem

-p=ansi

-poem

-pansi (somente Windows)

n/a Especifica a página de códigos OEM ou ANSI a ser utilizada quando gravar cadeias no arquivo de saída .kbc. Se não especificado no prompt de comandos, o Analisador utiliza o valor lido a partir do arquivo softart.ini. Caso contrário, a página de códigos ANSI será utilizada (EPSDIC em UNIX.)
-q Quiet Suprime a exibição de faixas de copyright e mensagens de progresso, que são de outra maneira enviadas para a saída padrão.
-s <cadeia> n/a Define a cadeia de conexão do DBMS para <cadeia>.
-u <caminho> Use Inclui diretórios no caminho para a lista de diretórios pesquisados quando o Analisador do TSD Script localiza o texto fonte para um arquivo .kb. O caminho pode consistir em vários nomes de diretório completos separados por ponto-e-vírgula. (No UNIX, os nomes de diretório são separados por dois-pontos.)
-x <banco de dados> Cross-Reference Cria três tabelas no banco de dados especificado que contém informações sobre a definição e utilização de constantes globais, tipos, variáveis, rotinas, tabelas SQL, arquivos de texto, arquivos de ícone e arquivos de bitmap.
-ide IDE Altera o formato de mensagens de erro geradas pelo Analisador do TSD Script para que o Tivoli Service Desk (TSD) Developer's Toolkit IDE possa localizar o texto fonte apropriado onde os erros foram encontrados.
-help/? Help Exibe um resumo de utilização na saída padrão.

Declarações IMPORT

Requisitos para análise de código com declarações IMPORT

Se o código fonte do Developer's Toolkit a ser analisado contiver quaisquer declarações IMPORT, você deve estar conectado e com sessão iniciada no gerenciador de banco de dados apropriado e os bancos de dados necessários devem estar ligados. Caso contrário, mensagens de erro serão geradas.

Arquivos temporários

Utilizar a declaração IMPORT para importar dados de um banco de dados resulta na criação de um arquivo temporário. Este arquivo, kmlimprt.out, é removido automaticamente na conclusão da importação.

Se o Analisador do TSD Script terminar inesperadamente, a exclusão deste arquivo poderá não ser concluída. Você pode excluir manualmente este arquivo desde que o Analisador do TSD Script não esteja executando.

Como analisar com a opção -S

A opção -S permite que você especifique o banco de dados na hora da análise e elimina a necessidade de codificar permanentemente o nome da origem do banco de dados.

A opção -S permite também que você especifique o ID do usuário e a senha no tempo de análise quando executar o Analisador do TSD Script a partir do prompt de comandos. Quaisquer valores especificados no arquivo sai_sql.cfg são ignorados.

O método recomendado para utilizar a opção -S é especificar todos os valores, exceto o ID do usuário e a senha no arquivo sai_sql.cfg. Em seguida, em tempo de análise, passe estes valores. Por exemplo:

-S"UID=UserId; PWD=Password"

em que UserId é o ID do usuário e Password é a senha exclusiva do usuário.

Utilização Circular em Arquivos .kb

O que é utilização circular?

A linguagem do Developer's Toolkit foi projetada para permitir que os arquivos .kb sejam utilizados mutuamente. Quando os arquivos .kb são utilizados mutuamente, cada arquivo .kb define um registro que é acessado pelo outro. Isto resulta em uma utilização circular. Em outras palavras, o arquivo .kb A não pode utilizar a seção PUBLIC do arquivo .kb B se B já utilizar uma seção PUBLIC de A. A utilização circular é aceita pelo Developer's Toolkit, mas não é aceita pelo Analisador do TSD Script.

Para evitar a utilização circular, mova todas as declarações de registro afetadas para um arquivo .kb separado que é utilizado por ambos os arquivos .kb originais. Os dois arquivos .kb originais podem, então, continuar se referindo a variáveis e rotinas um do outro.

Erros do Analisador do TSD Script

A tabela a seguir resume as condições de erro relatadas pelo Analisador do TSD Script. (Estes erros são comuns para o analisador de janelas gráfico, bem como para a linha de comandos.)

Atenção: A falta de ponto-e-vírgula pode causar vários erros. Se você tiver um erro que não entende, certifique-se de que há ponto-e-vírgula.

Erro Explicação
$CURRENT não é um índice válido para uma matriz. Foi feita uma tentativa para indexar uma expressão matricial com o índice especial $CURRENT. Este índice é válido somente para expressões de lista.
$EVENT não é definido no escopo de <função>. A função não é uma rotina de tratamento de eventos e não é aninhada no escopo de uma rotina de tratamento de eventos, portanto os símbolos associados ao tratamento de eventos não são definidos.
$EVENTPARM não é definido no escopo de <função>. A função não é uma rotina de tratamento de eventos e não é aninhada no escopo de uma rotina de tratamento de eventos, portanto os símbolos associados ao tratamento de eventos não são definidos.
$HANDLE não é definido no escopo de <função>. A função não é uma rotina de tratamento de eventos e não é aninhada no escopo de uma rotina de tratamento de eventos, portanto os símbolos associados ao tratamento de eventos não são definidos.
$NullHandler pode não ter um argumento de inicialização quando utilizado como um argumento para <rotina de criação>. Passar um argumento de inicialização para $NullHandler, quando utilizado com a rotina de criação fornecida, não atende a nenhum objetivo.
Foi encontrado um #ELSE sem um #IF correspondente. O Analisador do TSD Script leu a diretriz do pré-processador sem encontrar uma diretriz #IF correspondente.
Foi encontrado um #ENDIF sem um #IF correspondente. Uma das diretrizes do pré-processador foi lida sem ter sido encontrada uma diretriz #IF correspondente.
<nome> não é um tipo definido. O nome fornecido foi encontrado em um contexto onde uma especificação de tipo era esperada.
<nome> não é um campo do tipo de registro fornecido. Uma expressão que se refere a um campo por nome fornece um nome que não pertence a qualquer campo nesse registro.
<nome> não é uma função ou procedimento. Uma expressão de chamada se refere a um objeto que não é uma rotina.
Uma vírgula (,) está faltando. O Analisador do TSD Script não encontrou uma vírgula conforme esperado.
Ocorreu um erro de gravação de arquivo. Uma operação de gravação de arquivo falhou após uma operação de abertura bem-sucedida. Usualmente indica um erro interno de software.
Um protocolo de passagem de parâmetro (VALor ou REFerência) deve ser especificado. Uma declaração de parâmetro formal deve ser prefixada com uma palavra-chave VAL ou REF para especificar qual protocolo é utilizado quando a rotina é chamada.
Todos os seletores em uma instrução WHEN devem ter o mesmo tipo. Um seletor (ou seletores) em uma cláusula WHEN com vários seletores tem um tipo diferente do que outros seletores na cláusula WHEN.
Uma função de tratamento de eventos é necessária. Somente funções de tratamento de eventos podem ser passadas para as rotinas de criação para janelas, caixas de diálogo e outros objetos de geração de eventos.
Foi encontrado um delimitador inesperado. A última especificação em uma lista de parâmetros formais tem uma vírgula final desnecessária.
O argumento #<n> (<nome>) para a função <rotina> é inválido. O tipo de argumento não combina com o tipo de parâmetro formal correspondente.
Expressão de constante necessária. Uma expressão de constante é necessária no contexto atual.
A constante <nome> nunca é referida no escopo de <nome>. A constante é declarada mas não utilizada.
ENDIF não foi encontrado para corresponder à diretriz na linha <n>. O Analisador do TSD Script alcançou o fim do arquivo fonte sem encontrar uma diretriz #ENDIF correspondente a #IF ou #ELSE na linha fornecida.
O tipo de rotina de tratamento de eventos <nome> não corresponde à declaração forward. Uma declaração FORWARD ou PUBLIC para a rotina de tratamento de eventos especificou um tipo de evento diferente daquele especificado na declaração. (WINDOW é o tipo de evento padrão a ser tratado.)
A rotina de tratamento de eventos <nome> pode não estar declarada com um tipo de retorno. Uma rotina declarada como uma rotina de tratamento de eventos pode não ter um tipo de retorno especificado. As rotinas de tratamento de eventos sempre retornam um inteiro. Se nenhum valor for retornado, 1 será o valor padrão.
A função de tratamento de eventos <nome> não trata do tipo de evento gerado para o objeto criado por <criação de rotina>. As rotinas de tratamento de eventos não podem tratar de eventos para objetos Process e vice-versa.
A função de tratamento de eventos <nome> não pode ter mais de um parâmetro formal. A rotina de tratamento de eventos fornecida foi declarada com mais de um parâmetro formal.
As funções de tratamento de eventos só podem aparecer no escopo mais externo. Uma rotina de tratamento de eventos não pode ser aninhada dentro de outra rotina.
A expressão não se refere a uma localização acessível. Uma atribuição (ou outra expressão que afeta o valor de um objeto) requer um objeto acessível e mutável para operar.
A expressão não pode ser passada por referência. Uma expressão que não avalia para um objeto mutável e acessível não pode ser passada como um parâmetro REF.
A declaração forward para <nome_variável> não corresponde à declaração forward de <nome_Rotina> A seção PUBLIC ROUTINES não corresponde à seção PRIVATE ROUTINES. Certifique-se de que os argumentos em cada seção correspondem e são do mesmo tipo de dados.
A função forward <função> não tem implementação efetiva. A função foi declarada publicamente ou por uma declaração FORWARD, no entanto, não tem declaração efetiva.
fread() no scanner flexível falhou O arquivo fonte .kb tornou-se ilegível após ser aberto. Usualmente causado por uma falha de disco ou falha na rede.
Na função <nome> está faltando uma declaração de tipo de retorno. Uma rotina declarada como uma função deve ter um tipo de retorno.
A função <nome> nunca é referida no escopo de <nome>. A rotina é declarada mas não utilizada.
A função <nome> não pode ser chamada em um contexto processual. A função nomeada retorna um valor que não pode ser ignorado.
ERRO INTERNO detectado na linha <n> do <arquivo>. Existe uma condição de erro no Analisador do TSD Script. Anote o nome do arquivo e o número da linha e entre em contato com o Suporte ao Cliente Tivoli.
Anotação $EXPORT inválida. As anotações válidas são: LITTLE_ENDIAN, INTEL, BIG_ENDIAN, ASCII, EBCDIC, CUSTOM_CONVERT(...) e CTYPE(...) Apareceu uma anotação que não está na lista de anotações válidas da cláusula $EXPORT de uma declaração de registro.
Coerção inválida do tipo <tipo-1> para o tipo <tipo-2>. A coerção é inválida entre os tipos no contexto atual.
Expressão de controle inválida no loop FOR. A instrução FOR só pode iterar sobre intervalos de inteiro e o conteúdo de uma lista.
Declaração inválida. Foi encontrada uma sintaxe inválida em uma localização onde o Analisador do TSD Script esperava encontrar uma declaração.
Expressão inválida. Foi encontrado um erro de sintaxe em um contexto onde o Analisador do TSD Script esperava encontrar uma expressão.
Tipo de expressão inválido. Era esperado um tipo diferente.
Anotação de campo inválida. Foi encontrada uma notação que pode não se aplicar a um campo. As anotações LITTLE_ENDIAN, INTEL, BIG_ENDIAN, CUSTOM_CONVERT(...) e FILL(...) são inválidas neste contexto.
Identificador inválido: <cadeia>. Um identificador especificado no prompt de comandos (como um nome de arquivo .kb ou como parte de uma opção -a ou -d) não se encaixa nas especificações de léxico para um identificador do Developer's Toolkit.
Operando inválido para o operador <op>. O operador requer um operando de um tipo diferente.
Opção inválida: <???>. O Analisador do TSD Script encontrou uma chave do prompt de comandos desconhecida.
Anotação de pseudocampo inválida. Foi encontrada uma anotação que não pode ser aplicada a um pseudocampo. Somente as anotações FILL(...) e VALUE(...) são permitidas neste contexto.
Redeclaração inválida do símbolo <símbolo>. O símbolo tem mais de uma definição no mesmo escopo.
Instrução inválida. Foi encontrado um erro de sintaxe onde esperava-se uma instrução. Certifique-se de que os pontos-e-vírgulas estejam presentes.
Especificação de tipo inválida. Foi encontrado um erro de sintaxe onde esperava-se uma especificação de tipo.
Tipo de expressão de instrução WHEN inválido. A instrução WHEN só pode selecionar tipos INTEGER ou STRING.
O arquivo KB <kb-1> faz referência ao tipo <nome_tipo> que está definido no arquivo .kb

<kb-2>, mas não lista <kb-2> entre os arquivos .kb que ele utiliza.

Um tipo é referido sem nenhuma definição correspondente. Isto geralmente ocorre quando um registro, definido em um arquivo .kb que contém um campo de um tipo definido em um segundo arquivo .kb, enquanto um terceiro arquivo .kb utiliza o primeiro arquivo .kb no lugar do segundo, tenta acessar o campo.
O nome do arquivo .KB <nome-1> não corresponde ao nome (<nome-2>) pelo qual é conhecido externamente. O nome na declaração KNOWLEDGEBASE no início do arquivo .kb não corresponde ao nome pelo qual foi acessado a partir da linha de comandos ou por uma declaração USES em outro arquivo .kb.
A contagem de parâmetros para a função <função> não corresponde à declaração FORWARD. Uma declaração FORWARD ou public de uma função especificou um número diferente de parâmetros daquele especificado pela declaração efetiva.
A declaração de parâmetro para <parameter> não corresponde à declaração FORWARD de <função>. Uma declaração FORWARD ou public de uma função especificou o parâmetro de modo diferente (um tipo diferente ou protocolo de passagem de parâmetro diferente) ao da declaração efetiva.
O nome do parâmetro <nome-1> não corresponde a <nome-2> da declaração FORWARD da função <função>. Uma declaração FORWARD ou public de uma função especificou o mesmo parâmetro formal sob um nome diferente ao da declaração efetiva.
O parâmetro <nome> da função <função> nunca é referido. O parâmetro é declarado mas não utilizado.
A função processual <nome> não tem $RESULT. A pseudovariável $RESULT não pode ser referida dentro de uma rotina declarada como um procedimento.
O procedimento <nome> não pode ser declarado com um tipo de retorno. Uma rotina declarada como um procedimento não pode ter um tipo de retorno.
O seletor <valor> não pode aparecer várias vezes em uma instrução WHEN. Cada seletor pode aparecer somente uma vez em uma instrução WHEN.
O tamanho especificado (-<n>) não pode ser negativo. Uma matriz ou lista foi declarada com um tamanho inicial negativo.
O símbolo <símbolo> é definido em <.kb arquivo-1> e <.kb arquivo-2>. O símbolo fornecido é definido publicamente em ambos os arquivos .kb. Este é um aviso quando a segunda definição é a sombra da primeira.
O símbolo <símbolo> é indefinido. O símbolo foi utilizado em um expressão ou declaração sem estar definido.
O símbolo <símbolo ou nome_varivel> é indefinido. Uma variável é utilizada na seção ACTIONS que não foi declarada na seção VARIABLES localmente, globalmente ou na cadeia USES.
O argumento para uma rotina de tratamento de eventos deve ser passado por referência. O parâmetro formal para uma rotina de tratamento de eventos não foi especificado com a palavra-chave REF.
Na declaração de <símbolo> está faltando um delimitador de dois-pontos (:). Um delimitador de dois-pontos está faltando na declaração.
Na declaração de <símbolo> está faltando a palavra-chave IS. A palavra-chave IS está faltando na declaração.
O símbolo predefinido <símbolo> não pode ser redefinido. O símbolo é predefinido na linguagem do Developer's Toolkit e não pode receber uma nova definição pelo código de aplicativo.
Foram definidos tipos em excesso (mais de 65000). Há uma condição de erro interno no Analisador doTSD Script.
O tipo <nome> nunca é referido no escopo de <nome>. O tipo é declarado mas não utilizado.
O tipo <tipo> não é um tipo de registro. Um tipo de registro é necessário no contexto atual.
O tipo <tipo> não pode ser indexado. Foi feita uma tentativa de indexar uma expressão que não era uma matriz, lista ou tipo de cadeia.
O tipo de argumento de inicialização #<n> é inválido. O tipo de argumento de inicialização não corresponde ao tipo de parâmetro, campo ou elemento correspondente.
O tipo retornado por <função> não corresponde à declaração forward. Uma declaração FORWARD ou public de uma função especificou um tipo de retorno diferente daquele especificado pela declaração efetiva.
Impossível alocar um bloco de <n> bytes na linha <m> no arquivo <arquivo>. O Analisador do TSD Script ficou sem memória durante a análise do código fonte, podendo causar bloqueio no sistema operacional. A menos que o valor fornecido para n seja extremamente grade (o que pode indicar um erro interno), esta mensagem é rara, a não ser que você esteja executando o gerenciador de heap de depuração. O único modo de ficar sem memória é ficar sem espaço de troca.
Impossível forçar o valor <v> para o tipo <tipo>. O Analisador do TSD Script não consegue forçar o valor de constante para o tipo especificado.
Impossível utilizar IMPORT <vizualização>, código de erro = <n>. Uma declaração IMPORT falhou. O banco de dados pode não estar ligado ou a máquina pode não estar conectada e com sessão iniciada no gerenciador de banco de dados apropriado.
Impossível localizar o arquivo <arquivo>. O arquivo nomeado não foi encontrado pelo Analisador do TSD Script. Os diretórios incluem o atual, onde o i420.dll do Developer's Toolkit está localizado, e os diretórios especificados no SAIPATH, variável de ambiente dpath, ou pelo argumento do prompt de comandos -u.
Impossível tornar <caminho> o diretório atual. O diretório especificado com a chave do prompt de comandos -c é inacessível.
Impossível abrir o arquivo <arquivo>. A operação de abertura do arquivo falhou. Provavelmente causada por direitos apropriados.
Tipo de seletor inesperado. O tipo de seletor em uma cláusula WHEN não corresponde ao tipo da expressão de controle.
Encontrado um caractere não-identificado <carac.>. Foi encontrado um caractere não-identificado
Diretriz do pré-processador não-identificada. Foi encontrada uma linha começando com um caractere '#' e a diretriz era algo diferente de #ASSERT, #DENY, #IF, #IFNOT, #ELSE ou #ENDIF.
Comentário não terminado começando na linha <n>. O fim do arquivo fonte foi alcançado sem encontrar uma seqüência de caracteres ';*)'; para corresponder à seqüência ';(*'; na linha fornecida.
Cadeia não terminada. O fim de uma linha foi alcançado sem encontrar a aspa para fechar um literal de cadeia.
Erro de sintaxe não interceptado em ou próximo à coluna 0 da linha 12. A palavra-chave ROUTINES está faltando, a palavra-chave KNOWLEDGEBASE no topo do arquivo foi digitada incorretamente ou uma das seções ACTIONS, WHILE ou IF não contém uma instrução END.
A variável <nome> nunca é referido no escopo de <nome>. A variável é declarada mas não utilizada.
Número incorreto de argumentos para o inicializador <tipo>. O inicializador para o tipo requer um número diferente (provavelmente menor) de argumentos.
Número incorreto de argumentos para a função <nome>. A rotina nomeada requer um número diferente de argumentos do número fornecido na expressão de chamada.
Número incorreto de argumentos para a função <nome_procedimento>. Eram esperados <número>. Foram recebidos <número>. Quando o procedimento, função ou evento é chamado na seção ACTIONS do arquivo .kb, ele não corresponde à definição formal.
Impossível localizar um arquivo com o nome <nome_arquivo-1>. Utilizando <nome_arquivo-2> no lugar. Se você especificar um nome de arquivo .kb na seção USES de um arquivo .kb, ele deverá ter as mesmas maiúsculas ou minúsculas que o arquivo contendo o arquivo .kb. Se não tiver, o Analisador do TSD Script tenta encontrá-lo, exibindo esta mensagem.

Nota: Isto não será aceito em releases futuros.

Sintaxe não-obsoleta esperada para WinSetMousePointer. Substitua por WinSetWaitPointer. A instrução WinSetMousePointer na versão 4.2 e em versões anteriores foi modificada para aceitar múltiplas janelas no TSD Developer's Toolkit 5.0. Para permanecer compatível com a sintaxe antiga, o Analisador do TSD Script converte-a em uma nova função (WinSetWaitPointer) que executa o procedimento antigo.
Especificação de ligação inválida (ou obsoleta) para a rotina EXTERNAL <rotina>. As especificações de ligação $BC16 e $BC32 não são mais aceitas no TSD Developer's Toolkit 5.0 (que é agora um programa de 32 bits e não está mais apto a carregar DLLs do Windows de 16 bits). Utilize $C no lugar e assegure-se de que esteja ligando a uma DLL de 32 bits.
O nome do arquivo .KB <nome> é conflitante com uma função interna ou outro símbolo interno. As versões anteriores a 4.2 permitiam fornecer a um arquivo .kb o mesmo nome que um símbolo interno. Por exemplo, STRING, WinCreate, when, etc., resultando em confusão e erros internos potenciais. O Analisador do TSD Script do TSD 5.0 Developer's Toolkit agora reconhece e relata isso. Forneça ao arquivo .kb um nome exclusivo.

Tivoli Service Desk 6.0 Developer's Toolkit - Guia de Ferramentas e Utilitários

Retornar ao Índice

Copyright