GG w delphi

0

Multum jest w sieci tematów na temat komponentów pod gadu ale wszędzie ludzie narzekają że nie działa. Co mnie dziwi, bo konnekt przecież wciąż pracuje bezproblemowo. No ale nie ważne. Potrzebuje darmowego komponentu (GGLite już niestety takie nie jest :( ) które umożliwi li i jedynie zmianę statusu. Ewentualnie nawet bez komponentu, jeśli da się do w miarę przystępnie zrobić.
Dziex

0

Jedyny komponent dla Delphi jaki działa "jako tako" na chwilę obecną to TEasyGG w wersji 0.2. Wygoogluj go sobie, ma dołaczoną krótką dokumentację i przykład. Niestety jego wadą jest to, a przynajmniej ja to zauważyłem, że przy dodaniu kontaktow gdy jest ich więcej niż tak na oko 160 sztuk to program nie pobierze ich wszystkich opisów oraz statusów. Dodatkowo z tego co w moich testach wyszło w zdarzeniu odpowiedzialnym za wykrycie zmiany statusów znajomych należy dodać Application.ProcessMessages, tak jak poniżej w przykładzie (GGL to zmodyfikowany ListBox do wyświetlania kontaktów, który powiązany jest z TListView ContactsLV), a wtedy unikniemy błędów Access Violation. W sumie liczyłem na ukazania się wersji 0.3 tego komponentu z nowymi funkcjami i poprawkami rzeczy już istniejących, a także skorzystanie przez autora z jakiegoś modułu zewnętrznego parsera XML, bo w chwili obecnej aby skompilować TEasyGG na przykład pod Delphi 7 Personal, trzeba sobie "skombinować" moduły albo ich skompilowane wersje w *.dcu do obsługi XML'a - z wersji Enterprise. Także podsumowując albo TEasyGG albo niedziałające THGG, które może cudem zadziałać ale jedynie jak wyślemy po zalogowaniu do skutku kilkanaście albo nawet i kilkadzieśiąt wiadomości sami do siebie. Na temat GGLite się nie wypowiadam, bo nie korzystałem. Chyba jedynym napisanym w Delphi (chyba w Delphi) programem, który najlepiej obsługuje protokół GG jest komunikator AQQ, ale jego źródła nie są niestety dostępne publicznie.

procedure TMainForm.EGGUserStatus(Sender : TObject; User : TUser);
var
  I : Integer;
begin
  GGL.Visible := False;
  Application.ProcessMessages;
  for I := 0 to ContactsLV.Items.Count - 1 do
  begin
    if ContactsLV.Items.Item[I].Data = User then
    begin
      ContactsLV.Items.Item[I].Caption := User.Name;
      ContactsLV.Items.Item[I].SubItems[1] := User.Description;
      ContactsLV.Items.Item[I].SubItems[2] := IntToStr(StateID(User.Status));
    end;
  end;
  ContactsLV.AlphaSort;
  GGL.RefreshItems;
  GGL.Visible := True;
end;
0

ale gdzieś ty znalazł wersję 0.2 to ja nie wiem...
ale dzięki bardzo ;)

0

Wersja 0.2 jest tutaj: http://s42939.zut.edu.pl/dev/articles.php?article_id=6 i wystarczyło użyć google :)

0

ni chu chu nie idzie... wymaga jeszcze niejakiego txhtml.dcu ktorego nie mam :(

0

*xmldoc.dcu

0

D6Pro

0

Pierwsze słyszę, w Delphi 7 Personal wystarczy "skombinowac" poniższe moduły w wersjach *.pas lub *.dcu z wersji Enterprise:

msxml.pas
msxmldom.pas
xmlconst.pas
xmldoc.pas
xmldom.pas
xmlintf.pas
xmlschema.pas
xmlschematags.pas

Nie wiem jakie masz Delphi, może jakieś nowsze i potrzebuje tego modułu do czegoś, ale ani w powyższych modułach (w wersji dla Delphi &) ani w samym kodzie TEasyGG nie ma odwołania w treści do txhtml, także nie wiem jak Tobie pomóc, gdyż nie mam pojęcia dlaczego kompilator wymaga od Ciebie takiego modułu ;/

0

literówka chodzi dokładnie o te co wymieniłeś
biorę się za szukanie owych plików
Delfina mam 6-tkę Pro
sorry za zamieszanie dwie noce z rzędu zasypiałem o i wstawałem o 9 to już się literki myliły i skakały po ekranie jak głupie :P

0

niestety nadal nie wiem skad wziac xmldoc.dcu i cala reszte xml*.dcu :(

0

http://edn.embarcadero.com/article/38607
to chyba to ale zdaje się, że musisz mieć oryginała...

1 użytkowników online, w tym zalogowanych: 0, gości: 1