Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con Delphi (https://www.clubdelphi.com/foros/showthread.php?t=63811)

Dark_RavenM 04-03-2009 00:06:15

Ayuda con Delphi
 
Hola a todos, instale un componente que es un archivo dll de visual basic en Delphi por que necesito sus finciones, todo esta instalado bien pero las funciones regresan una coleccion de datos no es un arreglo es una coleccion que solo conosco que visual basic utiliza, pero no se como manejarlas en Delphi, alguien tiene una idea?

cHackAll 04-03-2009 00:28:45

Probablemente te este retornando una interfaz hija de IEnumVariant, pero no podemos hacer mucho si no nos explicas o muestras un poco mas.

Dark_RavenM 04-03-2009 16:52:02

Como que necesitarian?, el dll no lo puedo mandar por que tiene licencia, el tipo de dato que regresa asi se llama Collection de Visual Basic, delphi lo reconoce como un varDispatch

cHackAll 04-03-2009 20:46:32

Cita:

Empezado por Dark_RavenM (Mensaje 340161)
...el tipo de dato que regresa asi se llama Collection de Visual Basic...

Tu lo has dicho, en Visual Basic.

Cita:

Empezado por Dark_RavenM (Mensaje 340161)
...delphi lo reconoce como un varDispatch...

Reconoce? entonces esto esta libreria es una ActiveX o una que exporta funciones?


No creo que sea "ilegal" si nos muestras una llamadita en Visual Basic no? o la declaracion u otro dato..

Dark_RavenM 04-03-2009 21:09:01

Código:

Dim objTarifa As clsTarifa
Dim objCC As clsCuotas
Dim intTmp as Integer
Dim colTmp as Collection
Set objTarifa = New clsTarifa
objTarifa.Ruta = "C:\"
objTarifa.Codigo = "15091001"
If objTarifa.Actualiza Then
  Set colTmp = objTarifa.CuotasC

objTarifa.CuotasC es el que regresa una coleccion

Si Delphi lo toma como un componente ActiveX

y asi lo tengo en Delphi

Código Delphi [-]

type
  TForm1 = class(TForm)
    objDia: TclsTarifa;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

procedure TForm1.FormCreate(Sender: TObject);
var
  info:variant;
  dispatch:idispatch
begin
   objDia.Ruta:='C:\';
   objDia.Codigo:='15091001';

   if objDia.Actualiza(TRUE) then
   begin
      dispatch:=objDia.CuotasC;
      info:=objDia.CuotasC;
   end;


pero ya no se como manejar el dispatch para obtener la informacion o la variable info como variant

danielDelphi 05-03-2009 15:01:41

Problema con un TQuery al capturar un parametro y utilizar la sentencia
 
Buenos dias,
Si alguien me pudiera colaborar con este problema les agradeceria de por vida:D
tengo un inconveniente al hacer la captura y entrega de un parametro desde una caja de texto a un Tquery
miren
Código Delphi [-]
Procedure TForm1.searchbtnClick(Sender: TObject); begin QryMostrar.Close; DataSource.DataSet := QryBuscar; QryBuscar.Params[0].Value := codetxt.Text; QryBuscar.Open; end;


luego de esto

la sentencia de la TQuery esta asi



Select * from comments where codigo = ":codigo"


Me presenta un error Q no he podido solucionar es el list index out of bounds (0) alguna idea:confused:


Muchas gracias de antemano

rgstuamigo 05-03-2009 21:10:16

Código Delphi [-]
Procedure TForm1.searchbtnClick(Sender: TObject);
begin 
 QryMostrar.Close; 
 DataSource.DataSet := QryBuscar;
 QryBuscar.ParamByName('codigo').AsInteger:=StrToInt(codetxt.Text);//aqui modifique
 QryBuscar.Open;
end;
Aparte te aconsejo que la sentencia SQL lo tengas asi:
Código SQL [-]
Select * from comments where codigo =:codigo;
No pongas las comillas para el parámetro codigo.;)


La franja horaria es GMT +2. Ahora son las 21:48:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi