[ -pixi- @ 15.02.2007. 14:17 ] @
Molim vas ako iko moze da pomogne, pomozite mi. Znaci dobio sam zadatak da implementiram neki manji program. Treba da ga implementiram u Borland C++ Builderu (verzija 5.1). Zadatak mi je da putem Microsoft-ovog ScriptControl-a zovem metode nekog VBScript-a i nazad. Znaci za sada u jednom TMemo imam dvije metode, Hello() i Goodbye() koje trebaju da uzmu parametre iz aplikacije i da pokazu jedan novi prozorcic u kojem pise "Hello Kevin" i "Goodbye Kevin". Samo jos da dodam da Edit1->Text sadrzi ime na pr. "Kevin" a Edit2->Text sadrzi ime metode tj. Hello() ili Goodbye(). Za sad mi kod za zvanje VBScript metode izgleda ovako: Code: LPSAFEARRAY *pSa; // Holds the name parameter Variant varParameters; varParameters = VarArrayCreate(OPENARRAY(int,(1, 1)), varVariant); varParameters.PutElement(this->Edit1->Text,1); // varParameters arrayet handed to the safeArrayet pSa = varParameters.pparray; // Convert the AnsiString from Edit1(name) to wChar wchar_t *methodName; wchar_t *ThisVariableHasNoFunctionOtherThenToAssureThatmethodNameIsntOverwritten; AnsiString editStr = Edit2->Text; editStr.WideChar(methodName, editStr.WideCharBufSize()); // Convert the AnsiString from Memo1 to wChar wchar_t *wcharTextMemo; AnsiString str = Memo1->Text; str.WideChar(wcharTextMemo, str.WideCharBufSize()); // Add code to the ScriptControl this->ScriptControl1->AddCode(wcharTextMemo); // Run the script specified within the wchar_t ProcedureName with the // parameters specified in tagSAFEARRAY Parameters this->ScriptControl1->Run(methodName, pSa); Program radi kako treba dok ne dodje do zadnje linije i zove Run metodu, gdje crash-a jer mi je pSa cini mi se prazan. Takodje imam problem sa wideChar-ovima jer jedan prepise drugi, ako ne uvedem ThisVariableHasNoFunctionOtherThenToAssureThatmethodNameIsntOverwritten. Znaci molim nekoga, ko je radio sa ovim ranije ili ako moze da sazna kako mogu da rijesim ovaj problem, da mi pomogne Unaprijed puno hvala |