A więc edycję komponentu zacząłem od przyjrzenia się funkcji TGGLite.GGInitHost
po chwili w oko wpadły mi dwie zmienne :
Kopiuj
FHost := copy(ReturnMsg,1,pos(':',ReturnMsg)-1);
FPort := strtoint(copy(ReturnMsg,1,pos(' ',ReturnMsg)-1));
dane zwracane przez IdHTTP1 ustawiały host i port.
postanowiłem wpisać tam statyczne dane a resztę kodu usunąć , więc funkcja GGInitHost po mojej modyfikacji wyglądała tak:
Kopiuj
function TGGLite.GGInitHost:integer; // KAmerOK
begin
FHost :='91.197.13.2';// copy(ReturnMsg,1,pos(':',ReturnMsg)-1);
FPort := 8074;//strtoint(copy(ReturnMsg,1,pos(' ',ReturnMsg)-1));
end;
Przeszedłem do przykładowego programu i połączyłem się w ten sposób :
Kopiuj
procedure TForm1.Button1Click(Sender: TObject);
begin
gg.Login := 132456;
gg.Password := hasło;
gg.GGInitHost;
gg.GGLogon;
gg.UserStatus:=usAvailableDesc;
gg.GGChangeUserStatus;
end;
Klient się połączył wiadomosci zaczeły działać , przywróciłem więc funkcje GGInitHost do poprzedniego stanu ...
Po czym zacząłem się rozpatrywać jak zrobić aby z inspektorze obiektów można było podać host oraz port..
do kodu dodałem procedury :
Kopiuj
procedure SetHost(Ahost: string);
procedure SetPort(APort: int);
Kopiuj
procedure TGGLite.Sethost(Ahost: string);
begin
FHost:=Ahost;
end;
procedure TGGLite.SetPort(Aport: Integer);
begin
FPort:=APort;
end;
W deklaracji Published dodałem :
Kopiuj
property Host: string read Fhost write Sethost;
property Port: int read FPort write SetPort;
chciałem aby Od razu gdy położę na formatkę komponent GGlite , w inspektorze obiektów pojawił się port oraz host , w tym celu
w konstruktorze dodałem :
Kopiuj
constructor TGGLite.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Fhost := '91.197.13.2';
FPort :=8074;
end;
P.S ten kod jest niepotrzebny , można usunąć czego ja zapomniałem zrobić :
Kopiuj
const
Fhost = '91.197.13.2';
Ahost = '91.197.13.2';
FPort =8074;
APort =8074;
Jak widać NIE MA w tym nic trudnego ale było by dużo trudniej gdyby kod GGlite był mniej uporządkowany , a tak wszystkie zmienne były ładnie uporządkowane więc żadna filozofia dodać kilka nowych procedur ...
Teraz przydało by się przerobić THGG aby mógł przesyłając obrazki , ale to już nie ja lecz ktoś mądrzejszy . Powiec jak ty marogo przesyłasz te awatary .
Pzdr.