void __fastcall TMainForm::btnDetailedZodiacClick(TObject *Sender)
{
  TDateTime TheDate(FCalendar->Date);
  unsigned short year = 0;
  unsigned short month = 0;
  unsigned short day = 0;
  TheDate.DecodeDate(&year, &month, &day);

  // Niejawne wywoanie QueryInterface()
  IDetailedZodiacPtr DetailedZodiac = FZodiac;
  if (!chkAsync->Checked)
  {
    TDetailedZodiacSignImpl DetailedSign;
    OLECHECK(
      DetailedZodiac->GetDetailedZodiacSign(day, month, &DetailedSign));

    memLog->Lines->Add(_T("Informacje szczegowe:"));
    memLog->Lines->Add(_T("  Znak = ") + AnsiString(DetailedSign.Sign));
    memLog->Lines->Add(_T("  Dom = ") + IntToStr(DetailedSign.House));
    memLog->Lines->Add(_T("  ywio = ") + AnsiString(DetailedSign.Element));
    memLog->Lines->Add(_T("  Planeta = ") + AnsiString(DetailedSign.Planet));
    memLog->Lines->Add(_T("  Szczegy = ") + AnsiString(DetailedSign.Details));
    memLog->Lines->Add(_T("  Rady = ") + AnsiString(DetailedSign.Advice));
    memLog->Lines->Add(_T(""));
    memLog->Lines->Add(_T(""));
  }
  else
  {
    OLECHECK(
      DetailedZodiac->GetDetailedZodiacSignAsync(day, month));
  }
}
