2017-02-07 4 views
0

Поскольку Parse прекратил обслуживание, мне нужно перейти к стороннему размещенному Parse для push-уведомлений (я хотел бы придерживаться среды Parse). Используется TParseApi по умолчанию BaseURL определяется как:Изменение BaseURL класса TParseApi от основного блока

public const 
    ... 
    cDefaultBaseURL = 'https://api.parse.com/{ApiVersion}'; 

В TParseApi класса существует общественное свойство, называемое BaseURL, который установлен в cDefaultBaseURL в TParseApi.Create() и с помощью которого можно в противном случае установить базовый URL, используемый для REST вызовов. Это нужно изменить на адрес нового размещенного сервера, а не на старый адрес службы Parse.

В моем основном подразделении я только создаю и работаю с объектами TPushEvents и TParseProvider. Я хотел бы изменить свойство BaseURLTParseApi из моего основного устройства во время выполнения на новый адрес, но я не могу найти способ получить доступ к объекту TParseApi с моего основного устройства. Я бы предпочел не изменять постоянное значение в модуле REST.Backend.ParseApi, потому что мне пришлось бы продолжать поддерживать мою собственную версию этой единицы на неопределенный срок.

Я использую Delphi 10.1 Berlin.

Может кто-то пожалуйста, помогите мне, чтобы выяснить, как получить доступ к TParseApi объекта от моего основного блока, или же создать объект моей замены TParseApi в основном блоке, а затем получить TParseProvider/TPushEvents использовать мину вместо этого?

ответ

0

Попробуйте следующие

type 
    TMyPushEvents = class(TPushEvents) 
    public 
    property BackendService: IBackendPushDeviceService read GetBackendService; 
    end; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
    LIntf: IGetParseAPI; 
    LParseAPI: TParseAPI; 
begin 
    if Supports(TMyPushEvents(PushEvents1).BackendService, IGetParseAPI, LIntf) then 
    begin 
    LParseAPI := LIntf.ParseAPI; 
    LParseAPI.BaseURL := 'http://new.url'; 
    end; 
end;