Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2010, 15:39   #1
Dreanks
Пользователь
 
Регистрация: 10.01.2010
Сообщений: 28
По умолчанию Bluetooth и телефон

Здавствуйте.
Пытаюсь соединиться с телефоном по блутузу.

Код:
begin
   If WSAStartUp($0202, Data) <> 0 then
  raise Exception.Create('Winsock Initialization Failed.');
  ASocket := socket(AF_BTH,SOCK_STREAM,BTHPROTO_RFCOMM);
  If ASocket = INVALID_SOCKET then
    MessageDlg('Сокет не создан',mterror, [mbYes], 0);
  AddrSize := SizeOf(SOCKADDR_BTH);
  FillChar(Addr, AddrSize, 0);
  with Addr do begin
    addressFamily := AF_BTH;
    btAddr := DevInfo^.Address.ullLong;
    serviceClassId := SerialPortServiceClass_UUID;
    port := DWORD(BT_PORT_ANY);
  end;
  If connect(ASocket, @Addr, AddrSize) <> 0 then
    MessageDlg('Коннекта нет',mterror, [mbYes], 0);
end;
На строке: If connect(... выдает ошибку 'Access violation at address 0045CC2E in module 'Project2.exe'. Read of address 00000008'

DevInfo получено заранее.

Код:
procedure TForm2.Button4Click(Sender: TObject);
begin
BFRP.dwSize := SizeOf(BFRP);
hFind := BluetoothFindFirstRadio(@BFRP, hRadio);
if hFind = 0 then edit1.text:='Нет БТ';
if (hFind <> 0) then begin
  getradioinfo(hradio);
  BluetoothFindRadioClose(hFind);
end;
end;

procedure tform2.GetDevices(_hRadio: THandle);
begin
with DeviceSearchParams do begin
dwSize := SizeOf(BLUETOOTH_DEVICE_SEARCH_PARAMS);
fReturnRemembered := true; 
hRadio := _hRadio
end;
FillChar(DeviceInfo, SizeOf(PBLUETOOTH_DEVICE_INFO), 0);
DeviceInfo.dwSize := SizeOf(PBLUETOOTH_DEVICE_INFO); 
DeviceFind := BluetoothFindFirstDevice(DeviceSearchParams, DeviceInfo);
if (DeviceFind = 0) then edit1.Text:='Ничего не подключено';
if (DeviceFind <> 0) then begin
  edit1.Text := string(DeviceInfo.szName) + ' [' +
            BTAdrToStr(DeviceInfo.Address) + ']';
  BluetoothFindDeviceClose(DeviceFind);
end;
end;  

procedure tform2.GetRadioInfo(hRadio: THandle);
begin
FillChar(Radionfo, 0, SizeOf(Radionfo));
Radionfo.dwSize := SizeOf(Radionfo);
if (BluetoothGetRadioInfo(hRadio, Radionfo) = ERROR_SUCCESS) then begin
   GetDevices(hRadio);
end;
end;
Помогите плз.
Dreanks вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Bluetooth и C++Builder olm C++ Builder 3 23.01.2010 22:10
Bluetooth на .NET StuDDenT Общие вопросы .NET 2 25.11.2009 17:52
BlueTooth subsonic Общие вопросы Delphi 4 24.07.2008 16:19
BlueTooth doniyor Компоненты Delphi 5 01.06.2008 23:19