Bom dia Sou assinante da Clube delphi e estou tentando fazer o sistema de impressão de cheque, matéria do Adriano Santos, na edição 88 - mais está me gerando erro ao compilar justamente nas funções que declarei. Tenho as seguintes dúvidas:
As declarações de function são feitas em cada unit de cada tela ou e feita na unit da tela principal? A declaração da variável e feita apenas na tela principal? Coloquei a DLL na unidade C:\Windows, e necessário ter uma outra junto aos fontes do sistema? Segue o meu código para que possa se possível me ajudar. Atenciosamente unit uPrincipal; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ExtCtrls, Menus, ImgList, Buttons, ToolWin, StdCtrls, DB, DBTables; type TfrmPrincipal = class(TForm) LinhaStatus: TStatusBar; MainMenu1: TMainMenu; Cadastros1: TMenuItem; Produtos1: TMenuItem; Unidades1: TMenuItem; N1: TMenuItem; Funci1: TMenuItem; Departamentos1: TMenuItem; N2: TMenuItem; Ajuda1: TMenuItem; Sobre1: TMenuItem; Timer1: TTimer; P_Botoes: TPanel; spbImprimir: TSpeedButton; spbExcluirBanco: TSpeedButton; spbNovoBanco: TSpeedButton; spbPortas: TSpeedButton; spbFechar: TSpeedButton; Panel1: TPanel; Database1: TDatabase; N7: TMenuItem; Sair1: TMenuItem; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label53: TLabel; Label6: TLabel; //função para abri a porta de comunicação function Bematech_DP_IniciaPorta(Porta:string):integer; stdcall; far; external 'BemaDP32.dll'; //função para fechar a porta de comunicação function Bematech_DP_FechaPorta:integer;stdcall;far;external'BemaDP32.dll'; //função para imprimir o cheque function Bematech_DP_ImprimeCheque(Banco: string;Valor:string; Favorecido:string; Cidade:string; Data:string; Mensagem:string):integer; stdcall; far; external'BemaDP32.dll'; //função para incluir e alterar o banco e suas //coordenadas no arquivo bemadp32.ini function Bematech_DP_IncluiAlteraBanco(Banco:string; Coordenadas:String):integer; stdcall;far;external 'BemaDP32.dll'; //função para incluir um banco do arquivo bemadp.ini function Bematech_DP_ExcluiBanco(Banco:string):integer; stdcall; far; external 'BemaDP32.dll'; procedure Timer1Timer(Sender: TObject); procedure spbFecharClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure N2Click(Sender: TObject); procedure spbPortasClick(Sender: TObject); procedure spbExcluirBancoClick(Sender: TObject); procedure spbNovoBancoClick(Sender: TObject); procedure Funci1Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure spbImprimirClick(Sender: TObject); procedure Produtos1Click(Sender: TObject); procedure Sair1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmPrincipal: TfrmPrincipal; //variavel que recebe o retorno das funções Retorno: Integer; implementation uses uPortas, uExcluirBanco, uConfiguraBanco, uImprimir;