Ver Mensaje Individual
  #14  
Antiguo 02-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Creo que la cosa pasa por implementar tus rutinas como métodos de una clase.

Basándome en el código que pusiste, sería algo como:
Código Delphi [-]
unit uRutGlobal;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, Menus, ExtCtrls, DateUtils;

type
  TAccion = (Salva, Restaura);
  TRutinasGlobales = class(TObject)
  private
    procedure OpenDialogShow(Sender: TObject);
    ...
  public
    ...
    procedure GestionDB(Accion: TAccion);
  end;

var
  RutGlob: TRutinasGlobales;

implementation

procedure TRutinasGlobales.OpenDialogShow(Sender: TObject);
begin
  if TOpenDialog(Sender).Tag = 1 then
    SetDlgItemText(GetParent(TOpenDialog(Sender).Handle), IDOK, PChar('&Abrirlo'))
  else
    SetDlgItemText(GetParent(TOpenDialog(Sender).Handle), IDOK, PChar ('&Guardarlo'));
end;

procedure TRutinasGlobales.GestionDB(Accion: TAccion);
begin
  with TOpenDialog.Create(nil) do
  try
    OnShow:= OpenDialogShow;
    Tag:= Integer(Accion);
    if Execute then

  finally
    Free;
  end;
end;
...

Y como ejemplo de llamada:
Código Delphi [-]
....
uses uRutGlobal;

procedure TForm1.Button1Click(Sender: TObject);
begin
  RutGlob.GestionDB(Salva);
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita