Ver Mensaje Individual
  #1  
Antiguo 12-04-2012
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Reputación: 22
JXJ Va por buen camino
¿por que parametros opcionales function procedure no me funcionan?

hola

que tengo una rutina de codigo que quiero que 2 parametros sean opcionales.
var FechaInicial:TdateTime; var FechaFinal :TdateTime) : Integer;

y al usarla me sale conq eu me faltan esos 2 parametros que yo defini como opcionales

Código Delphi [-]
{
declaracion
}

   function ComprobanteImprime(UnicodEmisor :string; UnicodReceptor :string; UnicodSucursal :string; UnicodComprobante :string; TipoComprobante :string;
            var FechaInicial:TdateTime;  var FechaFinal :TdateTime) : Integer;
var

function TComprobanteCFDIClas.ComprobanteImprime(UnicodEmisor :string; UnicodReceptor :string; UnicodSucursal :string; UnicodComprobante :string; TipoComprobante :string;
         var FechaInicial:TdateTime;  var FechaFinal :TdateTime): Integer;
var
  PrintEngineF: TPrintEngineF;
begin
//lanzamos un form que se encargara de decidir que comprobante imrpimir
  PrintEngineF := TPrintEngineF.Create(Application);
end;

Código Delphi [-]
// utilizacion me exige los 2 parametros que puse como opcionaes que anda mal???

 CompCFDI.ComprobanteImprime(
                              CompCFDI.Emisor_CODIGO, CompCFDI.Receptor_CODIGO, CompCFDI.SUCURSALUNICCODE,
                              CompCFDI.CODIGO,  CompCFDI.TIPOCOMPROBANTE

                             );

por qu eel codigo de aqui
http://www.delphibasics.co.uk/RTL.asp?Name=BlockWrite

BlockWrite si es de 3 parametros pero en su declaracion es de 4

Código Delphi [-]
function  _BlockWrite(var f: TFileRec; buffer: Pointer; recCnt: Longint; var recsWritten: Longint): Longint;

var

function  _BlockWrite(var f: TFileRec; buffer: Pointer; recCnt: Longint; var recsWritten: Longint): Longint;
begin
  Result := BlockIO(f, buffer, recCnt, recsWritten, fmOutput,
  {$IFDEF MSWINDOWS} WriteFileX, {$ENDIF}
  {$IFDEF POSIX} __write, {$ENDIF}
  101);
end;

///

asi se supone que se usa.

Código Delphi [-]

var
  myFile    : File;
  byteArray : array[1..8] of byte;
  oneByte   : byte;
  i, count  : Integer;

 begin
  // Try to open the Test.byt file for writing to
  AssignFile(myFile, 'Test.byt');
  ReWrite(myFile, 4);   // Define a single 'record' as 4 bytes

  // Fill out the data array
  for i := 1 to 8 do
    byteArray[i] := i;

  // Write the data array to the file
  BlockWrite(myFile, byteArray, 2);   // Write 2 'records' of 4 bytes
Responder Con Cita