|
is there any free IDE for the .net compact framework?
|
|
|
|
|
Hi,
I'm developing an application using vb.net for PDA's. How should i store the data in the pocket PC access db. .NET CF does not have classes to support this.
|
|
|
|
|
Check out InTheHand's website[^].
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
HI
I would like to add AfterCollapse handler to the treeView object using compact framework. However, it seems that CF does not support aftercollaspse event handle. Is there any other ways to add this event handler?
Thanks~
|
|
|
|
|
Hi folks,
How can I change the BackColor of a ListViewItem in a ListView Control in .NET Compact Framework? I know that the ListViewItem.BackColor Property is available on "Desktop" .NET.
|
|
|
|
|
I am trying to write/read from a .dat file as part of a much larger C# application. The application was written using the .Net Compact Framework, and everything runs fine on my WinXp desktop. However, I am having trouble writing to file on the Pocket Pc, because I know very little about their directory structure. I would like the file I am writing to to be someplace where multiple users can access it, so not in My Documents. So my question is: what should i change this line System.IO.StreamReader file = new System.IO.StreamReader("c:\\mobile.dat"); to, in order not to get this exception A managed DirectoryNotFoundException occurred at Application::Run+0xf. I tried using "\\mobile.dat", but to no avail.
Thanks,
Justin
|
|
|
|
|
The pocketpc does not use multiple user folders like windows.
The "\My Documents" folder is accessible by anyone using the PDA.
(Also, there are no drive letters)
"For all of our languages, we cannot communicate" - Christy Moore, Natives
|
|
|
|
|
Hi all,
I would like to store a BLOB ( signature item ) in SQLCE. I followed the steps given in MSDN sites. Application stops when I encounter the declaration of ISequentialStream interface. In the ssceoledb.h, there is no implemenation of ISequentialstream or Ilockbytes. I am using SQLCE 2.0 and PocketPc 2002 emulation as well as device.
Please help
I tried with the latest download of the header from Microsoft site. Yet it is the same as wht i have now. Please indicate me where do I fail.
Thanks in advance
Mallee
|
|
|
|
|
Please wait for my upcoming article about this subject. It should be published here in a couple of days.
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
Hi Paulo,
Thanks for ur interest in helping me. But since it is very urgent I am forced to ask you the help immediately.
Let me explain in brief as wht i have done.
1) I call GetSignature method which will return a single row with the BLOB item (IMAGE datatype) as the first and only column in the rowset. The input to this method is an object whose class definition is as follows:
public:
unsigned char m_SignatureData[8192];
unsigned int m_SignatureLength;
/********************************************************************/
This m_SignatureData array stores the activated pixels constituting the IMAGE drawn on the screen.
2) GetSignature after retrieving the rowset will call update signature. The empty BLOB item is now filled with this m_SignatureData array . m_SignatureData array is actually converted into ISequentialStream pointer and then only passed to the SetData method of the IRowsetChange.
I have few questions
1) Which HROW is to be used in the IROwsetChange::SetData method ?
2) Which Accessor interface is to be used ? (One associated with the IRowset or IRowsetChange)?
Please help. (although the mail is lengthy)
void CTransactionRec::GetSignature(CSignature *m_Signature)
{
HRESULT m_QueryResult= NOERROR;
CString szQuery=L"select Signature from tblTransaction where Type='"+ m_stType +"'";
m_QueryResult = m_DbConnection.m_pIDBCrtCmd->CreateCommand(NULL,IID_ICommandText,(IUnknown**)&m_pICmdTextForList);
m_QueryResult = m_pICmdTextForList->SetCommandText(DBGUID_SQL,szQuery);
if(!FAILED(m_QueryResult)) {
if(!FAILED(m_pICmdTextForList->Execute(NULL,IID_IRowset,NULL,NULL,(IUnknown**)&m_pIRowset))) {
UpdateSignature(m_Signature);
}
}
else {
MessageBox(GetActiveWindow(),L"Query not executed",L"Database Session",0);
}
return ;
}
/**********************************************************************/
HRESULT CTransactionRec::UpdateSignature(CSignature *m_Signature)
{
IRowsetChange * pIRowsetChange;
IAccessor * pIAccessor;
ISequentialStream *pISeqStr;
HROW hrow;
HROW *pRows = &hrow;
ULONG lNumRowsRetrieved = 0;
HACCESSOR hAccessor;
DBBINDSTATUS rgStatus[1];
DBOBJECT ObjectStruct;
ObjectStruct.dwFlags = STGM_READWRITE ;
ObjectStruct.iid = IID_ISequentialStream;
DBBINDING rgBinding[1] = {
1, // Column 1
0, // Offset to data
sizeof(IUnknown*), // obLength length field
0, // Ignore status field
NULL, // No type info
&ObjectStruct, // Object structure
NULL, // Ignore binding extension
DBPART_VALUE|DBPART_LENGTH, // Bind value and length
DBMEMOWNER_CLIENTOWNED, // Consumer owned memory
DBPARAMIO_NOTPARAM, // Not a parameter binding
0, // Ignore maxlength
0, // Reserved
DBTYPE_IUNKNOWN, // Type DBTYPE_IUNKNOWN
0, // Precision not applicable
0, // Scale not applicable
};
m_pIRowset->QueryInterface(IID_IAccessor, (void**) &pIAccessor);
pIAccessor->CreateAccessor(DBACCESSOR_ROWDATA, 1, rgBinding, sizeof(IUnknown *),&hAccessor,
NULL);
pIAccessor->Release();
m_pIRowset->GetNextRows(NULL,
0,
1,
&lNumRowsRetrieved,
&pRows);
BYTE* pData=(BYTE*)CoTaskMemAlloc(sizeof(IUnknown*)+sizeof(ULONG));
// Value - pass ISequentialStream pointer to the provider
pISeqStr = *(ISequentialStream **)(m_Signature->m_SignatureData);
*(ISequentialStream**)(pData+rgBinding[0].obValue)=pISeqStr;
// LENGTH - Some providers need to know the length of the
// stream ahead of time...
*(ULONG*)(pData+rgBinding[0].obLength)=(ULONG)m_Signature->m_SignatureLength;
// SetData - The provider will then do an ISequentialStream::Read
// on the pISeqStr pointer passed in...
pIRowsetChange->SetData(*pRows, hAccessor, pData);
CoTaskMemFree(pData);
return 0;
}
Thank You
Mallee
|
|
|
|
|
I may have a little bit more difficulty in helping you because I use the ATL OLE DB Consumer Templates, not "raw" OLE DB C++ code. But the priciples are the same, so let me explain these a little bit.
When you read a BLOB, the provider creates an ISequentialStream object and passes a pointer back to the consumer. You will have to choose if you use the object to read data, but must always release it.
When you write a BLOB (either inserting or updating), you have to do the exact reverse, meaning that you have to create an ISequentialStream object from which the provider will read the BLOB data. So, how do you create such a thing? I got help from this article:
SAMPLE: AOTBLOB Read/Writes BLOB Using OLE DB Consumer Template[^]. Note how the CISSHelper class is used to simulate a storage object.
I believe most of your problems will be solved when you implement this functionality.
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
|
Hi,
I am using pocketpc 2003 SDK on wince platform.
In my application, i need to create menu at runtime without using any resource. I will be getting the top menu item and pop up menu items during run time. I am trying to create menu bar using commandbar, but it is creating the menu bar at the top of the client area instead of down. I know that we need to use CreateMenu, CreatePopupMenu and AppendMenu functions, but after creating and appending the menu items what we should do?. I am not supposed to use MFC.
Please give some suggestions.
Regards
harish
harishks@integramicro.com
|
|
|
|
|
Hello,
anybody know how to differente it?
thanks
|
|
|
|
|
Hi
Here is the solutin....
#ifdef WIN32_PLATFORM_PSPC
//Pocket PC
#if (WIN32_PLATFORM_PSPC == 400)
// Pocket PC 2003
#elif (WIN32_PLATFORM_PSPC == 310)
// Pocket PC 2002 code
#endif
#endif // WIN32_PLATFORM_PSPC
|
|
|
|
|
thanks, but it´s not the solution that I´m looking for, i need to differentiate the operating system build or something similar, not the compilation platform. thank you.
|
|
|
|
|
Look at the GetVersionEx API.
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
Hi All,
I'm developing an application in PocketPC which only supports for English language. I want to use all my resource as a different language. I put all string in a .rc file. How could i do it for PocketPC.
Any suggestion is most welcome.
Regards
Gopa
|
|
|
|
|
Put all the resources on a DLL that you will load dynamically at application startup. Each DLL will have its own language.
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
Thnks for your answer. But I'm doing that. Do I need to install eVC++ for different language to make .dll?.
Regards
Gopa
|
|
|
|
|
Gopabandhu Patra wrote:
Do I need to install eVC++ for different language to make .dll?
No, just specify the correct languange in project settings (Alt+F7) on the "Resources" tab.
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
Thanks for your reply.
I'm facing a problem. After making .dll for different language I'm junk value in a message box. I make a .dll in Japanese language. But the message box showing Junk character. Can you please help me for this. What to do for this?
Regards
Gopa
|
|
|
|
|
Install Japanese fonts on the Pocket PC.
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|
|
How to develop this type of DLL
Can you give my informations?
Thank you.
I want to developp an application for French, English,...
Thank You
|
|
|
|
|
What is your development environment / framework?
Regards,
João Paulo Figueira
Embedded MVP
|
|
|
|