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
public
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
RRO := TRIMRadioObj.Create(Form1);
if RRO.DefaultInterface.QueryInterface(IID_IConnection, Connection) = S_OK then
begin
Connection.Connect('USB', 300, 19200, '');
if (Connection.IsConnected = 1) and (RRO.DefaultInterface.QueryInterface(IID_IReadBBPIN, BBPIN) = S_OK) then
begin
end;
if (Connection.IsConnected = 1) and (RRO.DefaultInterface.QueryInterface(IID_IReadIMEI, IMEI) = S_OK) then
begin
IMEI.Execute(StrImei);
edtIMEI.Text := StringReplace(StrImei, '/', '', [rfReplaceAll]);
end;
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);
if Pos('MEP', pl) > 0 then
edtMEP.Text := pl;
end;
end;
edtClipBoard := TEdit.Create(Form1);
edtClipBoard.Parent := Form1;
edtClipBoard.Text := 'IMEI:' + edtIMEI.Text + ' MEP:' + edtMEP.Text;
edtClipBoard.SelectAll;
edtClipBoard.CopyToClipboard;
edtClipBoard.Free;
Connection.Disconnect;
end;
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..