Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda para conectar celular en la app (https://www.clubdelphi.com/foros/showthread.php?t=82601)

bigguntm 22-03-2013 17:20:06

Ayuda para conectar celular en la app
 
1 Archivos Adjunto(s)
Hola a todos de nuevo, al comienzo de mi programa queria que los blackberry's se conectaran a mi app para poder leerles sus datos, lo principal seria el imei y el mep. Bueno, nunca lo pude hacer, debe ser por el poco tiempo que llevo programando, un colega en un foro, me facilito esto,

Código:

RIMRADIOCOMLib_TLB.pass
se los puse en un .rar abajo lo pueden descargar..

en un archivo .bat , colocamos esto..

//para registrar la dll y pueda funcionar correctamente.

Código:

regsvr32 RIMRadioCOM.dll
en la Unit principal esto..

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ActiveX, RIMRADIOCOMLib_TLB, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    btnReadInfo: TButton;
    edtIMEI: TLabeledEdit;
    edtMEP: TLabeledEdit;
    procedure btnReadInfoClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnReadInfoClick(Sender: TObject);
var
i: Cardinal;
SwPartList: IGetSwPartList;
PartList: PSafeArray;
RRO: TRIMRadioObj;
Connection: IConnection;
IMEI: IReadIMEI;
StrImei: WideString;
pl: WideString;
BBPIN: IReadBBPIN;
edtClipBoard: TEdit;
begin
// Create RIM Radio Object
RRO := TRIMRadioObj.Create(Form1);
// Query different interfaces to see if are supported
// if OK then read desired information
if RRO.DefaultInterface.QueryInterface(IID_IConnection, Connection) = S_OK then
begin
// Connect to phone
Connection.Connect('USB', 300, 19200, '');
// Read BBPIN
if (Connection.IsConnected = 1) and (RRO.DefaultInterface.QueryInterface(IID_IReadBBPIN, BBPIN) = S_OK) then
begin
// Use IntToHex(BBPIN.Execute,6) to show BBPIN
end;
// IMEI
if (Connection.IsConnected = 1) and (RRO.DefaultInterface.QueryInterface(IID_IReadIMEI, IMEI) = S_OK) then
begin
IMEI.Execute(StrImei);
edtIMEI.Text := StringReplace(StrImei, '/', '', [rfReplaceAll]);
end;
// PartList
if (Connection.IsConnected = 1) and (RRO.DefaultInterface.QueryInterface(IID_IGetSwPartList, SwPartList) = S_OK) then
begin
SwPartList.Execute(PartList);
for i:=0 to PartList.rgsabound[0].cElements-1 do
begin
SafeArrayGetElement(PartList, i, pl);
// From all partlist info just show MEP
if Pos('MEP', pl) > 0  then
edtMEP.Text := pl;
end;
end;
// Create a TEdit to put IMEI + MEP together and paste it to clipboard
edtClipBoard := TEdit.Create(Form1);
edtClipBoard.Parent := Form1;
edtClipBoard.Text := 'IMEI:' + edtIMEI.Text + ' MEP:' + edtMEP.Text;
edtClipBoard.SelectAll;
edtClipBoard.CopyToClipboard;
edtClipBoard.Free;
// Finish then disconnect interface
Connection.Disconnect;
end;
// Release Rim Radio Object
RRO.Free;
end;

end.



el problema es que todo esta "correctamente", la aplicacion no me da ningun error, pero tampoco lee la data del blackberry cuando lo conecto.. Saludos y gracias de antemano..

Neftali [Germán.Estévez] 22-03-2013 18:09:25

Ejecuta el programa paso a paso y a ver si detectas en qué punto no está funcionando correctamente.

De todas formas habría que conocer más cosas de "esto" que pones aquí, para saber qué está pasando o como mínimo qué debería estar pasando...

¿Exactamente qué hace esta DLL?
¿De dónde la has sacado? ¿ Algún SDK? ¿Documentación, versiones, ayuda,...?
...

bigguntm 22-03-2013 19:01:15

Cita:

Empezado por Neftali (Mensaje 457415)

¿Exactamente qué hace esta DLL?
¿De dónde la has sacado? ¿ Algún SDK? ¿Documentación, versiones, ayuda,...?
...

1.- RIMRadioCOM.dll, es una .dll creada por rim para hacer un puente de conexion con sus dispositivos, esta contiene todo lo que se necesita para leer la informacion de las blackberry.

2.- RIMRADIOCOMLib_TLB.pass , esta hecho para contactar con RIMRadioCOM.dll, desde delphi.

Entonces con la unit principal deberiamos hacer que RIMRADIOCOMLib_TLBb.pass nos envie los datos que son traidos por RIMRADIOCOM.dll,

NOTA: quisiera saber que contiene RIMRADIOCOM.dll linea a linea, pero no lo se, y el problema debe de estar en el llamado a la .dll , saludos


La franja horaria es GMT +2. Ahora son las 16:01:10.

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