Dear C++ Gurus/Experts,

I am writing a program to automate excel.My program is working well when I use integer (Write/Read) in excel.My program also

works well when I use string.But the issue appears when I use array of strings.I am getting the issue as below
"error C2664: 'SysAllocString' : cannot convert parameter 1 from 'char *' to 'const OLECHAR *' ". Please Help.

//working good with strings

 for(int i=1; i<=15; i++) {
      for(int j=1; j<=15; j++) {
         // Create entry value for (i,j)
          BSTR b;
          VARIANT parm1;
          b = SysAllocString(L"Haroon"); // this line working good
          parm1.vt = VT_BSTR;
          parm1.bstrVal = b;
         // Add to safearray...
         long indices[] = {i,j};
         SafeArrayPutElement(arr.parray, indices, &parm1);
      }
   }

//Having problems with Array of strings

//Array of strings

char *hrs[]={"noor","riz","vignesh"};

 for(int i=1; i<=15; i++) {
      for(int j=1; j<=15; j++) {
         // Create entry value for (i,j)
          BSTR b;
          VARIANT parm1;
          b = SysAllocString(hrs[0]); // issue in this line
          parm1.vt = VT_BSTR;
          parm1.bstrVal = b;
         // Add to safearray...
         long indices[] = {i,j};
         SafeArrayPutElement(arr.parray, indices, &parm1);
      }
   }

You need to call SysAllocStringByLen because the strings are char* instead of wchar_t*

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.