|
put a \ before each "
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
|
Okay, so in a past project I had used IDL to expose a UDT i had in a dll to an excel spreadsheet. The DLL in that case was a straight C++ DLL, no MFC.
In this case I have an MFC DLL. I want to expose a UDT to the excel spreadsheet. I have tried, but it does not work. I have the UDT defined in my IDL file, but when I use "references" tool in excel, I dont have access to the type? The code is below. Am I doing something wrong here?
<code>
[
uuid(A1CCE58E-553D-4394-828C-5227D4526293),
helpstring("Topic Conversion Library For Tag List")
]
library TopicConversionLib
{
typedef struct _vb_topic_data
{
short t_num;
float t_value;
BSTR t_name;
} VbTopicData;
[
helpstring("topic stuff"),
dllname("topic_conversion.dll")
]
module topic_conversion
{
};
}
Ryan Baillargeon
Software Specialist
Fuel Cell Technologies Inc.
|
|
|
|
|
Don't you need to tag the typedef with a uuid?
Steve S
[This signature space available for rent]
|
|
|
|
|
How do you use the VbTopicData?
|
|
|
|
|
I ran a sample app for a splash screen, and now even though other apps are okay, my main app is crashing at !ProcessShellCommand(cmdInfo) whivch I stepped into, and its at the switch:
BOOL CWinApp::ProcessShellCommand(CCommandLineInfo& rCmdInfo)
{
BOOL bResult = TRUE;
switch (rCmdInfo.m_nShellCommand)
{
Another mfc program does fine! The sample I ran had a file pair: cmdline.cpp and .h.
Here are its contents:
#include "stdafx.h"
#include "cmdline.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
void CCommandLineInfoEx::ParseParam(const TCHAR* pszParam, BOOL bFlag, BOOL bLast)
{
if (bFlag) {
m_options[pszParam] = "TRUE";
m_sLastOption = pszParam;
} else if (!m_sLastOption.IsEmpty()) {
m_options[m_sLastOption] = pszParam;
m_sLastOption.Empty();
}
CCommandLineInfo::ParseParam(pszParam, bFlag, bLast);
}
BOOL CCommandLineInfoEx::GetOption(LPCTSTR option, CString& val)
{
return m_options.Lookup(option, val);
}
I dont know whats gone wrong, but none of my saved versions are working, and I know for a fact they were before I ran this sample. I actually ran another splashscreen app too, but it didnt have a file called cmdline.* (if thats the problem).
Help! I am devastated! What has gone wrong on my machine?
Appreciate your help,
ns
|
|
|
|
|
My main app has the splashscreen classes in it, but the earlier versions dont. They arent working either...
Appreciate your help,
ns
|
|
|
|
|
Don't panic. I feel kinda guilty since it was me who directed you to the code
Have you supressed the m_pMainWnd setting in InitInstance ? That could be the cause. If this is not the problem, try erasing any trace of DiLascia's code from your project (.cpp s, .h s), delete the Debug and Release dirs and rebuild. Hope this works. Tell me back what happened.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Sorry> I didnt mean to make you feel bad - you didnt know! Besides the sample is working fine! Even if I comment out all his stuff, it crashes> What is weirder is that I have 20 old versions saved as I go along. These arent working either. So something has happened to the environment, not the code> I installed my app on a different machine(2 actually) - it works fine there. My registry looks okay too ....
A coworker is right now in the process of transferring her data onto a new pc she just got, so I''ll use her old machine till my new 2.8 gig comes in( not ordered yet). Its just very puzzling though. In the meantime I am learning about HTML help workshop, and an independent sample app that will merge databases,so I am not totally crippled....this stuff will keep me busy till I can inherit her old pc.
THis makes me so scared to try new things off the web....and yet it didnt install anything...just ran code(which did something that my app doesnt like).
Appreciate your help,
ns
|
|
|
|
|
Though one certainly has to be picky about about what to execute from the net, MSJ's code archive is not a hacker-candidate site
I don't have a compiler right now, but I'll try to take a look at this next Monday. In the meantime, I'm almost sure nothing critical has been broken. If you have spare time, try recreating the project from scratch and then transferring the code (and only your code).
Regards,
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Thanks. Thats very kind of you to offer to look at it. I have a good machine at home, so I'll be able to work on it there. Then on Tuesday (we have the coming Monday off) I'll be back to deal with this. I agree that the MSJ site is not a hacker site. But thats all I've done this morning. Please dont feel responsible for this.....I really value your suggestions and help.
Appreciate your help,
ns
|
|
|
|
|
I wrote to Paul L. and he answered me within minutes!!! He doesnt know what could have happened.....
Appreciate your help,
ns
|
|
|
|
|
What a nice guy he must be! Please tell me the end of the story (when you know it). Good luck.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Hi Joaquin,
Heres the promised update! Paul D. and I exchanged maybe a half dozen emails and he couldnt think of what had gone wrong. I was configuring another machine etc this morning and just as a last ditch effort, killed the registry entries my project makes, though it looked perfectly uncorrupted. To my unexpected delight, that resolved the problem! I rebuilt the keys and all is well (until I crash again - just a matter of time! ) Anyways I did not expect that would be the resolution. I am so relieved as you might guess! So thanks for the moral support> I even have to nerve to re-undertake the splash screen effort again, though not with P D's class...
Thanks again and I hope that you will still in the future point me to useful resources. I value your responses tremendously!
Sincerely,
ns
|
|
|
|
|
Hi
I issued this problem recenty but now I know a bit more about its nature.
I'm trying to store some data in MsOffice files and the problem is that MsWord 2000/XP removes my data after I save document from the Word (I tried also MsWord 97,MsExcel 97/2000/XP and here my data remains untouched). Now some explanation how I store my data in doc file:
1. Using StgOpenStorage I open office file as a compound file
2. I create new storage with IStorage::CreateStorage
3. Within newly created storage I create new stream using IStorage::CreateStream
4. I store my data within newly created stream using IStream::Write
5. I release all opened streams and storages
I discovered that when in doc file Word adds stream 0Table (1Table is probably always present) my data doesn't dissapear (I don't know why). I don't know how to prevent Word from deleting my data but I suppose that forcing Word to add 0Table stream could solve my problem (but how can I do this). I would appreciate any hints.
Mariusz Popiolek
|
|
|
|
|
Hi
Currently I've generate a DLL who construct a Log file (CMyLogFile => global) depend on the application which uses this DLL.
But the problem comes when several applications in the same directory use this DLL. I must create a different file name for each application, if not the other application does not open (because currently he use the same file name)...
How to generate differents log files name from a DLL using by several application locate in the same directory?
Thanks in advance...
Hello World!!!
from Raphaël
|
|
|
|
|
When your DLL is invoked by a process, it receives an HINSTANCE (in DllMain). Your default implementation of DllMain probably stores this somewhere.
Anyway, you could use this to modify your filename for uniqueness.
Alternatively, see API GetTempFileName()
Jon
Signature space for rent. Apply by email to....
|
|
|
|
|
But HINSTANCE is unique and thus is the same for several process who use the DLL...
Hello World!!!
from Raphaël
|
|
|
|
|
That sentence is a contradiction.
Signature space for rent. Apply by email to....
|
|
|
|
|
No because the HINSTANCE identify the DLL and not the process.
This handle represent the virtual address of the begining of the dll.
I want to know which process call the DLL in the entry point of the dll.
Hello World!!!
from Raphaël
|
|
|
|
|
The HINSTANCE value of each app (in Win32) is the same, 0x40000000 or something, so that wouldn't help. You could get the processID or even the thread ID and that should be nearer to what you want.
Steve S
[This signature space available for rent]
|
|
|
|
|
Use GetTempFileName. This will allow you to specify the path and an extension for your file, and it will guarentee that it gives you a unique file name.
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
GetModuleFileName(NULL) returns the path and name of the .EXE used to create the process. In your context this should be unique.
--
Daniel Lohmann
http://www.losoft.de
(Hey, this page is worth looking! You can find some free and handy NT tools there )
|
|
|
|
|
I'm loooking at various implementations. They all seem to run for an arbitrary time, then vanish. What if my program still isnt ready to show the UI? How do we make some sort of synchronization between the duration of the splas and the app startup time? Incidentally the app really varies in startup speed....
Appreciate your help,
ns
|
|
|
|
|
don't let the splash screen kill itself. instead, have your main app thread send it a WM_OK_GO_AWAY_NOW message when loading is finished.
-c
Support regime change. Vote.
|
|
|
|