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;


Responder a