Para utilizar o arquivo WINDOWS.CPY, vc precisa copiá-lo no início do seu programa. Antes mesmo da cláusula PROGRAM-ID:
copy "windows.cpy".
program-id. TesteAPI.
Caso utilize o arquivo WINDOWS.CPY em uma classe, coloque o "copy" antes da cláusula CLASS-ID:
copy "windows.cpy".
class-id. TesteAPI inherits from Base.
Nos dois casos, o compilador trata de referenciar automaticamente o arquivo WINDOWS.CPY a partir da pasta onde ele se encontra, que é a pasta SOURCE, dentro da pasta de instalação do Microfocus NetExpress.
Com o "copy" do arquivo WINDOWS.CPY fica mais fácil para o desenvolvedor definir determinadas variáveis que são encontradas em muitos exemplos na internet. Quando você encontrar um exemplo em C++ ou C# com uma definição de variável como a que mostro a seguir, com a utilização do arquivo WINDOWS.CPY é provável que você consiga definir as variáveis da mesma forma, diretamente no fonte Cobol. Isso porque o arquivo WINDOWS.CPY possui uma série de "typedef´s" identificando os principais tipos de variáveis utilizada. Typedef é um recurso que o compilador da Microfocus oferece para que o desenvolvedor possa criar estruturas de dados e utilizá-las no fonte Cobol, como uma definição básica. Esse recurso será tema de um artigo mais detalhado, em breve aqui no blog.

working-storage section.
77 wsHwnd HWND.
77 wsMsg UINT.
77 wsWParam WPARAM.
77 wsLParam LPARAM.
77 wsResult LRESULT.
Pode parecer um pouco estranho definir variáveis dessa forma em um fonte Cobol, mas a intenção da Microfocus foi facilitar a utilização dessas variáveis, tão comumente encontradas em programas ou funções escritas em C ou em outras linguagens semelhantes.
Além dos diversos tipos de variáveis, a maioria das API´s também já estão pré-definidas como constantes no arquivo WINDOWS.CPY. Com isso, uma chamada a uma API pode ser feita declarando explicitamente o nome da mesma no fonte Cobol:
call wapi SendMessage using by value wsHwnd
by value wsMSG
by value wsWParam
by value wsLParam
returning wsResult
A utilização de "typedef´s" ajuda a padronizar a definição de variáveis e estruturas. Como dito anteriormente, em um próximo artigo vou abordar esse assunto com detalhes, para exemplificar a utilização desse recurso em programas Cobol.
Nenhum comentário:
Postar um comentário