|
Is your dll using any other dlls?
Maybe they can not be loaded but final efect
is that head dll error is reported.
For example if you build dll in
Debug and you are distributing it
on computer without same developer tool.
(there are only release version)
It will not to work.
that sometime happen
|
|
|
|
|
I made the DLL with MFC statically linked, so it shouldn't be that. what about #include files? For instance, I'm using the MySQL.h header file and linking to its .lib file when compiling my DLL, but they are not included in the project. Should I do that? thanks for your help
If it's broken, I probably did it
bdiamond
|
|
|
|
|
some years ago i’ve coded dlls for VB 6.0 and had the same trouble,I don’t know why an VB app needs full path to dll even if dll is in its folder. you can use some APIs like GetModuleFileName to get full path to your application then append dll name to it. I don’t know if there is some better way to solve it I’m not VB coder.
|
|
|
|
|
I want to know how I the meaning of those syntax elements of C++:
key word:
virtual,
protected,private,public
inline
friend
#pragma directive
namespace
For most of the time,I think I can somewhat get freshed innovative ideas,but that is quite different from programming.
I find that many computer concepts or design patterns are derived from the human's understanding from the real world,in other words,I think that many professional phrases of computer science,which is the in my point of view is the biggest obstacle that hamper me mastering that skill.
So I really hope that sophisticated members of this website may help me clearing those unfamil
|
|
|
|
|
Have you consulted MSDN for the definition of these terms?
From the author of C++, this page might also help.
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
I am banging my head against the wall on this one... I'm not a Visual C++ expert, I am used to coding on the Mac, but I assume that this is a simple thing to do... but I cannot for the life of me find any info on it.
I used the AppWizard to create a dialog-based application, and it has the toolbar, menu, etc. When the user chooses to save it, the save dialog box comes up with the default file filter "All files (*.*)". I want to make it so that this list contains only the file types that the user can save. How do I do this? I have the serialization code in, everything works fine, I just want to force the filename to have the correct extension.
|
|
|
|
|
Let say your extension is "txt"
Second parametr of CFileDialog constructor is the
default filename extension.
Call can looks like this:
CFileDialog mySaveDlg(FALSE, "txt");
mySaveDlg.DoModal();
strPath = mySaveDlg.GetPathName();
or better (to show the extension)
CFileDialog mySaveDlg(FALSE, "txt", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Text file|*.txt||");
mySaveDlg.DoModal();
strPath = mySaveDlg.GetPathName();
|
|
|
|
|
I'm not sure how you get this in an MFC Dialog Based app but the MFC default File Open/Save(As) dialogs use the IDR_MAINFRAME string in the resource file.
For example and app named 'cp2' with a file extension of 'myt',
cp2\n\ncp2\ncp2 Files (*.myt)\n.myt\ncp2.Document\ncp2.Document
This string is associated with a document template in your apps InitInstance function and the contents and format are documented with CDocTemplate::GetDocString (), you can obviously have different document types with different strings leading to different extensions.
Alternatively you could bring up the open/save dialogs yourself using CFileDialog, then you can do what you like right at the point of relevance.
Paul
|
|
|
|
|
Any ideas on how to call a text file from Menu, its seems pretty simple the file won't open up???
Kind Regards
Kevin
|
|
|
|
|
Try using ShellExecute() with the name of the text file as the third parameter.
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
The Subjets says it all
I want the same behavior as any image or word processing application actually.
For instance:
- open a image.bmp file
- launch Save as... command.
- change the type to 'Portable Network Graphics (PNG)'
I want my File dialog change the selected name to image.png.
I've scanned MSDN with the OnChangeType() stuff but when I tried to change CommDlg_OpenSave_SetControlText(hDlg, edt1/cmb13, "file.newextension");
it has no effect...
I'm a bit puzzled. Any idea?
-MyttO
|
|
|
|
|
I have created a DLL in which I'm running a query on a MySql database, then exporting it row by row into a .dbf file. Everything works except that it is very slow when it comes to a few thousand records at a time. I'm trying to speed it up in one area by changing my algorithm for output of the dates. in a particular field of the MySQL database there is a timestamp saved which returns this:
"20040325122530"
I need it to end up like this:
"2004-03-25 12:25:30"
I'm doing that now with CString Insert() function but for a 25-field query of 10000 records it's taking about 8 minutes!! Or are CStrings generally too slow anyway and would it be faster to just use char*?
bdiamond
|
|
|
|
|
CString::Insert() will probably copy/reallocate the whole string at each insertion (5 times)
Try to build it from scratch with one allocation and direct writing. You can easyly do this with CString::Format() , but it'll be pretty much the same with char * ...
But anyway 5x25x10k = 1,25M string manipulation whouldn't take that long imo.
-MyttO
|
|
|
|
|
Are you sure that it is the transformation of the date format that is taking the time?
If it is the bottleneck then to optimise it it is necessary to know more about where the data is coming from and where it is going to. At first glance a CString doesn't seem the clearest approach.
Paul
|
|
|
|
|
CString will do only one realloc, which is time consuming, and then each insert will require a memcpy for the remainder of the string, which is fairly slow.
After playing around, out of curiosity, I came up with the following, which is about 2.2 times faster than doing a series of inserts. I also observed an additional 10 fold increase by ensuring that the CString always had at least 20 bytes allocated. (Avoiding an alloc/realloc made a huge difference.)
char dstStr[20];
const char* pSrc = orgStr;
dstStr[0] = pSrc[0];
dstStr[1] = pSrc[1];
dstStr[2] = pSrc[2];
dstStr[3] = pSrc[3];
dstStr[4] = '-';
dstStr[5] = pSrc[4];
dstStr[6] = pSrc[5];
dstStr[7] = '-';
dstStr[8] = pSrc[6];
dstStr[9] = pSrc[7];
dstStr[10] = ' ';
dstStr[11] = pSrc[8];
dstStr[12] = pSrc[9];
dstStr[13] = ':';
dstStr[14] = pSrc[10];
dstStr[15] = pSrc[11];
dstStr[16] = ':';
dstStr[17] = pSrc[12];
dstStr[18] = pSrc[13];
dstStr[19] = 0;
[EDIT: Another method, though this assumed that CString will be preallocated to 20 bytes and will remain that. Otherwise its performance degrades to near that of the insert method:
char* pBuffer = orgStr.GetBuffer(20);
pBuffer[18] = pBuffer[13];
pBuffer[17] = pBuffer[12];
pBuffer[15] = pBuffer[11];
pBuffer[14] = pBuffer[10];
pBuffer[12] = pBuffer[9];
pBuffer[11] = pBuffer[8];
pBuffer[9] = pBuffer[7];
pBuffer[8] = pBuffer[6];
pBuffer[6] = pBuffer[5];
pBuffer[5] = pBuffer[4];
pBuffer[4] = '-';
pBuffer[7] = '-';
pBuffer[10] = ' ';
pBuffer[13] = ':';
pBuffer[16] = ':';
orgStr.ReleaseBuffer(19);
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Great!! I appreciate your help very much
If it's broken, I probably did it
bdiamond
|
|
|
|
|
And what about converting the timestamp value directly in MySQL query?
See DATE_FORMAT function in MySQL documentation .
Robert-Antonio
"CRAY is the only computer, which runs an endless loop in just 4 hours"
|
|
|
|
|
I thought about that, but I wanna make sure it doesn't break later on down the line if myself or someone else tries to use it without using DateFormat();
If it's broken, I probably did it
bdiamond
|
|
|
|
|
Hi, all!
How can I display all symbols of font file (ttf), like font creating tools do this?
Thank you in advance.
|
|
|
|
|
Any ideas on how to clear a radio button which you've selected??
Kind Regards
Caoimh
|
|
|
|
|
void CWnd::CheckDlgButton( int nIDButton, UINT nCheck );
or for radio buttons in a group use
void CWnd::CheckRadioButton( int nIDFirstButton, int nIDLastButton, int nIDCheckButton );
greatest thing is to do wot others think you cant suhredayan@omniquad.com
|
|
|
|
|
Use the CButton::SetCheck() method
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
You can use CButton::SetCheck()
Ant.
|
|
|
|
|
Should have refreshed before posting, seems David was a little quicker than me on this occasion
Ant.
|
|
|
|
|
I want to be able to get the line and position of an element in a xml document, so when when there is an error (not a parse error!, but e.g. attribute verification error)I can display the user the position in the document.
|
|
|
|