Arquivo INI em DLL ???

03/09/2004

0

Bom dia a todos!

Estou fazendo uma dll para impressão direto na porta da Impressora matricial ... esta tudo funcionando perfeitamente. So que agora meu cliente quer que no relatorio que a DLL gera seja impresso as informações de sua loja como cnpj, razao, mensagem de roda-pé .. etc.
Todas estas informações estao gravados em um arquivo INI ... quando eu tento acessar as informações do arquivo ini simplesmente não acontece nada ... nem mensagem de erro acontece.
O código da minha dll esta mais ou menos assim:

library Project1;

uses
SysUtils, Classes, IniFiles;

{$R *.res}

procedure printaRomaneio( Codigo : integer ); Export;
var
Arquivo : TIniFile;
Razao : string;
Impressora : TextFile;
begin

Arquivo := TIniFile.Create( ´Proprietario.ini´ );
Razao := Arquivo.ReadString( ´Proprietario´, ´Razao´, ´´ );
Arquivo.Free;

AssignFile( Impressora, ´LPT1´ );
Rewrite( Impressora );
Writeln( Impressora, Razao );
System.CloseFile( Impressora );

end;

Exports
printaRomaneio;

begin
end.


Simplesmente a variavel Razao não adquire o valor esperado.
se alguem puder me dar uma dica agradeço desde já


Mmoreira

Mmoreira

Responder

Posts

03/09/2004

Bacalhau

Estimado, parece que tudo funciona bem, excepto uma coisa. A variavel Razao é a última a ir para a impressora. Creio que a informação fica no buffer da impressora, sem imprimir.

Depois da linha

Writeln( Impressora, Razao );

escreve

Writeln( Impressora, ´ ´); // espaço em branco

Esta linha adicional força a Razao a ir pra impressora

abraço
bacalhau


Responder

07/09/2004

Mmoreira

O problema todo é que a variavel não recebe mesmo nenhum valor ... se eu atribuir um valor manualmente para a variavel dai sai direitinho na impressora ....

estou precisando muito resolver este problema


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar