Re[3]: SQL server + asp+COM(delphi) что то не получается
От: George Seryakov Россия  
Дата: 25.03.03 15:39
Оценка:
Здравствуйте, Аноним, Вы писали:

GS>>ASP — он, в сущности, VBScript (ну, или Jscript). Все данные там — VARIANT. Внутри кода COM-сервера ты должен завпаковывать данные в VARIANT и распаковывать их оттуда.


А>легко сказать а хоть примерчик? ПлЗ


Но компилировать и проверять мне лень. Примерно так:

ASP:
set o = CreateObject("<твой ProgId>")

o.SendString("STRING")
s = o.ReceiveString

o.SendLong(1234567)
l = o.ReceiveLong

o.SendObject(o)
set o2 = o.ReceiveObject


IDL выглядит так:

[id(1)] HRESULT SendString([in] VARIANT v);
[id(2)] HRESULT ReceiveString([out, retval] VARIANT *pv);

.. и все методы имеют такую сигнатуру, т.е. через VARIANT.


С++:


STDMETHODIMP CCoClass::SendString(VARIANT v)
{
    if (v.vt == VT_BSTR) {
      CComBSTR s = v.bstr;
      // делаешь со строкой что надо
    } else {
      // ...
    }

    return S_OK;
}

STDMETHODIMP CCoClass::ReceiveString(VARIANT *pv)
{
    CComVariant v;

    v = CcomVariant("твоя строка");

    v.Detach(*pv);

    return S_OK;
}
GS
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.