dim

Пользователи
  • Публикаций

    21
  • Зарегистрирован

  • Посещение

Информация о dim

  • Звание
    Пользователь
  1. я сделал так, пробую вызвать метод try ClientModule1.ServerMethods1Client.Send_messageOperator(Person.Phone,task_operator.Text); except ClientModule1:=nil; ConnectToServer; exit; end; и если ошибка то в ConnectToServer if ClientModule1=nil then ClientModule1:= TClientModule1.Create(self) else ClientModule1.DataModuleCreate(nil);
  2. а как можно менять иконку? дописал компонент, вроде работает, если кому надо: uses VCL.Graphics; .... protected procedure SetIcon(Icon: TIcon); public property Icon: TIcon read FIcon write SetIcon; ... procedure TCustomTrayIcon.SetIcon(Icon: TIcon); begin FIcon:=Icon; FData.hIcon:=FIcon.Handle; Refresh; end;
  3. TMapsEngine

    Воспользовался компонентом mEngine, при написании запускал на Lenovo все работало нормально, перенес на планшетник, все вроде работает только не геокодирует по координатам mEngine.Geocoding адрес не возвращает (при этом на ленове тут же все нормально показывает) не подскажете куда копать (проблема еще в том что планшет не могу подключить для отладки) procedure TMasterDetailForm.OnLocationChange(Sender: TObject; const OldLocation, NewLocation: TLocationCoord2D); begin TThread.Synchronize(nil, procedure begin // перемещаемся по карте в текущие координаты, с зумом 14 (макс 16) myLoc := TMapCoordinate.Create(NewLocation.latitude, NewLocation.longitude); MapView1.Location := myLoc; MapView1.Zoom := 17; TTask.Run( procedure begin // геолокация mEngine.Geocoding(myLoc, myLocInfo); // геокодинг для записи заголовка в marker TThread.Synchronize(nil, procedure var markDescriptor: TMapMarkerDescriptor; begin // MyLocInfo хранит все данные геокодинга Label6.Text := myLocInfo.FormattedAddress; Label6.Text := Label6.Text+ ' -> '+KlLocInfo.FormattedAddress; markDescriptor := TMapMarkerDescriptor.Create(myLoc, myLocInfo.FormattedAddress); SetMarker(MapView1,myLoc,1,'',markDescriptor); end); end); end); end;
  4. нет, у меня на всех работать перестала, может с key гуглевым связано? может где то что то у них поменялось
  5. Есть код который работает при смещении карты и получив координаты центра пытаюсь получить адрес по ним. procedure TMasterDetailForm.MapView3CameraChanged(Sender: TObject); var myCoordinat: TLocationCoord2D; begin inherited; myCoordinat.Create(MapView3.Location.Latitude,MapView3.Location.longitude); if (int(myCoordinat.Latitude)<>0) then begin //проверяю, что координаты определены if not Assigned(fGeocoder) then begin if Assigned(fGeocoder.Current) then fGeocoder := TGeocoder.Current.Create; if Assigned(fGeocoder) then fGeocoder.OnGeocodeReverse := OnGeocodeReverseEventStart; end; if Assigned(fGeocoder) and not fGeocoder.Geocoding then fGeocoder.GeocodeReverse(myCoordinat); end end; все работало до очередного обновления, а сейчас ругается "java.io.IOException: Service not Available" на fGeocoder.GeocodeReverse(myCoordinat); подскажите куда копать
  6. Сделал по типу "ScrollableForm". При открытии клавиатуры форма сдвигается, вроде все работает как надо, но если после набора текста нажать на кнопку "Сохранить" то происходит закрытие клавиатуры и смещение кнопки "Сохранить" и соответственно сохранение не происходит и требуется еще раз нажать на кнопку. Можно как то это обойти, например сделать задержку закрытия клавиатуры?
  7. как отобразить движение маркера без мигания. Пытаюсь сделать так: while not dateset.Eof do Begin bdcoord:=TMapCoordinate.Create(dateset.FieldByName('Latitude').AsFloat, dateset.FieldByName('longitude').AsFloat); IFind:=false; for Marker in FMarkers do begin if Marker.Descriptor.Snippet=dateset.FieldByName('driverid').AsString Then Begin Marker.Remove; SetMarker(MapView3,bdcoord,1,dateset.FieldByName('driverid').AsString); IFind:=true; Break; End; end; if not IFind then SetMarker(MapView3,bdcoord,1,dateset.FieldByName('driverid').AsString); dateset.Next; End; но просто еще один маркер добавляется, а старый не удаляет. Если делаю как написано на форуме: сначала удаляю все for Marker in FMarkers do begin Marker.Remove; end; FMarkers.Clear; то работает, но идет мигание маркеров
  8. а как делают другие программы там на карте и поля поиска располагают и кнопки
  9. MapView с маркером в центе

    пока сделал так (очень криво): procedure TMasterDetailForm.MapView3CameraChanged(Sender: TObject); var myGeocoder: TGeocoder; myCoordinat: TLocationCoord2D; begin if not Assigned(myGeocoder) then begin if Assigned(myGeocoder.Current) then myGeocoder := TGeocoder.Current.Create; if Assigned(myGeocoder) then myGeocoder.OnGeocodeReverse := OnGeocodeReverseEventStart; end; // Translate location to address myCoordinat.latitude := MapView3.Location.Latitude; myCoordinat.longitude := MapView3.Location.longitude; if FMyMarkers<>nil then FMyMarkers.Remove; SetMarker(MapView3,TMapCoordinate.Create(myCoordinat.Latitude,myCoordinat.Longitude),0); if Assigned(myGeocoder) and not myGeocoder.Geocoding then myGeocoder.GeocodeReverse(myCoordinat); end; при смещении карты маркер всегда встает по центру, но не постоянно, а только после перемещения. помогите, неужели ни кто не делал определение адреса по карте.
  10. MapView с маркером в центе

    Подскажите как сделать. Нужно разместить маркер по центру компонента MapView и что бы при перемещении по карте он так и оставался видимым по центру и соответственно myCoordinat.latitude := MapView3.Location.Latitude; myCoordinat.longitude := MapView3.Location.longitude; выдавал координаты под этим маркером и второй вопрос: по полученным координатам я получаю адрес myGeocoder.GeocodeReverse(myCoordinat) , но он не соответствует КЛАДР (да и вообще много ошибок в названии улиц), а мне надо привязать к своей базе адресов. Посоветуйте кто как выходил из ситуации, или как получить из него список всех улиц по городу
  11. на KeyUp у Edit не срабатывает (на текст срабатывает, а когда #13 нет). на FormKeyUp срабатывает, но не могу определить какой Edit сейчас активный
  12. как сделать переход между контролами? почитал про returnkeytype=Next но у меня не работает, максимум KillFocusByReturn если true закрывает клаву, но хотелось бы сделать переход. если SetFocus ставить то работает, но это не правильно для каждого Edita прописывать, раньше (для винды) делал procedure TForm.FormKeyPress(Sender: TObject; var Key: Char); begin if (Key = #13)then begin Key := #0; Perform(WM_NEXTDLGCTL, 0, 0); end; end; Есть ли что то подобное для андроида?
  13. есть форма вверху image, внизу Edit при начале редактирования снизу открывается клавиатура и перекрывает поле ввода. Как сделать что бы форма прокрутилась вверх и edit был виден