slacas75
18-09-2004, 00:27:05
Hola a todos..
resulta que tengo un par de DLL's que utilizo con un proyecto, las cuales uso en distintos procedimientos....mas o menos asi :
procedure Proc1;
var
BRN054 : Variant
Entrada : Variant;
Salida : Variant;
Control : String;
begin
BRN100 := CreateOleObject('EOL.BRN100P'); // Produccion
Entrada:= VarArrayCreate([0,7], VarOleStr);
Salida:= VarArrayCreate([0,7], VarOleStr);
Control:= 'MAN110D';
BRN100.Logon;
BRN100.Brn100(Control,Entrada,Salida);
BRN100.Logoff;
end;
procedure Proc2;
var
BRN054 : Variant;
VecInput : Variant;
VecOutPut : Variant;
begin
BRN054 := CreateOleobject('EOL.BRN054P'); // Produccion
VecInput := VarArrayCreate([0,1], VarOleStr);
VecOutput := VarArrayCreate([0,19],VarOleStr);
BRN054.LogOn;
BRN054.BRN054(VecInput,VecOutput); //ojo que aqui son dos parametros
BRN054.LogOff;
end;
El problema es que cuando llamo al segundo procedimiento me truena en la linea BRN054.BRN054(par1,par2) mostrandome el mensaje de error:
Error: 0001 0009 Parameter error. Location of wrong parameter is 2
Lo estraño es que si ejecuto el proyecto llamando solo a uno de los dos procedimientos funciona perfectamente.
Tal parece que el proyecto se queda con el objeto OLE vinculado de alguna forma y el segundo en ejecutarse por eso marca el error.
De antemano agradezco su ayuda u comentarios.
gracias
saludos
resulta que tengo un par de DLL's que utilizo con un proyecto, las cuales uso en distintos procedimientos....mas o menos asi :
procedure Proc1;
var
BRN054 : Variant
Entrada : Variant;
Salida : Variant;
Control : String;
begin
BRN100 := CreateOleObject('EOL.BRN100P'); // Produccion
Entrada:= VarArrayCreate([0,7], VarOleStr);
Salida:= VarArrayCreate([0,7], VarOleStr);
Control:= 'MAN110D';
BRN100.Logon;
BRN100.Brn100(Control,Entrada,Salida);
BRN100.Logoff;
end;
procedure Proc2;
var
BRN054 : Variant;
VecInput : Variant;
VecOutPut : Variant;
begin
BRN054 := CreateOleobject('EOL.BRN054P'); // Produccion
VecInput := VarArrayCreate([0,1], VarOleStr);
VecOutput := VarArrayCreate([0,19],VarOleStr);
BRN054.LogOn;
BRN054.BRN054(VecInput,VecOutput); //ojo que aqui son dos parametros
BRN054.LogOff;
end;
El problema es que cuando llamo al segundo procedimiento me truena en la linea BRN054.BRN054(par1,par2) mostrandome el mensaje de error:
Error: 0001 0009 Parameter error. Location of wrong parameter is 2
Lo estraño es que si ejecuto el proyecto llamando solo a uno de los dos procedimientos funciona perfectamente.
Tal parece que el proyecto se queda con el objeto OLE vinculado de alguna forma y el segundo en ejecutarse por eso marca el error.
De antemano agradezco su ayuda u comentarios.
gracias
saludos