reanimate a perished fish

Started by czerny, March 02, 2013, 10:40:00 AM

Previous topic - Next topic

czerny

In my opinion there are two shortages in Pelles C, the lack of a good library (such as STL) and the problems using the COM interface.

To the first point read the following article http://www.drdobbs.com/cpp/general-purpose-c-libraries-limited-opti/231000967#,
though there must be more than the three mentioned libraries, I think.

To the second point I will do some research. I am not an expert in COM-programming, so I need your help.

Lets start with a first question: Assuming that I want to use ADO, what is the canonical way to get the corresponding header file?

czerny

Bitbeisser

Quote from: czerny on March 02, 2013, 10:40:00 AM
In my opinion there are two shortages in Pelles C, the lack of a good library (such as STL)
Well, STL is a C++ library and as stated a lot of times in here and in that article you linked yourself to below, C and C++ are two distinct programming languages...
QuoteTo the first point read the following article http://www.drdobbs.com/cpp/general-purpose-c-libraries-limited-opti/231000967#,
though there must be more than the three mentioned libraries, I think.
Those libraries mentioned are also nothing (directly) Windows related, they are rather Linux related libraries, with little relevance to Windows programming, and that is the only target environment of Pelle's C.

Ralf


czerny

Thank you tater!

There is now a 7 page discussion about the question whether Pelles C is or is not a dead fish.
This does not help at all.

Is there anybody who can contribute?
Who is able to answer my question above?

czerny

JohnF

Quote from: czerny on March 03, 2013, 10:46:17 AM

Is there anybody who can contribute?
Who is able to answer my question above?

czerny

To get this header one would normally download the latest M.S. SDK if PellsC does not already have it. Using it however will require a lot of work as it is intended for use with C++.

I have a copy of it if you would like to see it.

John

CommonTater

Quote from: JohnF on March 03, 2013, 12:31:33 PM
Quote from: czerny on March 03, 2013, 10:46:17 AM

Is there anybody who can contribute?
Who is able to answer my question above?

czerny

To get this header one would normally download the latest M.S. SDK if PellsC does not already have it. Using it however will require a lot of work as it is intended for use with C++.

I have a copy of it if you would like to see it.

John

Actually John, I believe ADO would be part of the MS Office SDK...
Please correct me if I'm wrong...


CommonTater

Quote from: czerny on March 03, 2013, 10:46:17 AM
There is now a 7 page discussion about the question whether Pelles C is or is not a dead fish.
This does not help at all.

Ok... message deleted....

TimoVJL

#6
msado15.h is in MSDACSDK too.
http://en.wikipedia.org/wiki/Microsoft_Data_Access_Components

If you try to create msado15.h from msado15.dll, it may be broken.
In Connection15 this is missing from it:
     /* Connection15 methods */
     STDMETHOD(get_Properties)(THIS,Properties **);
May the source be with you

JohnF

Tater,

Actually John, I believe ADO would be part of the MS Office SDK...
Please correct me if I'm wrong...


I saw no reference to MS Office - but I don't know either way.

John

CommonTater

Quote from: JohnF on March 03, 2013, 05:52:12 PM
Tater,

Actually John, I believe ADO would be part of the MS Office SDK...
Please correct me if I'm wrong...


I saw no reference to MS Office - but I don't know either way.

John

I wasn't sure either ... Looks like Timo has it....

TimoVJL

msado15.dll can be found from location:
C:\Program Files\Common Files\System\ado\msado15.dll
C:\Program Files (x86)\Common Files\System\ado\msado15.dll
It comes with Windows from Win2K and newer.

May the source be with you

czerny

#10
timovjl: Your msado15.h is 97 KB big and dated from today. How do you have build it?
Your example is running with nState = 1. But I can not compile it.
POLINK: error: Unresolved external symbol '_IID_Connection15'.
POLINK: error: Unresolved external symbol '_CLSID_Connection'.

---

I have here PSDK_2003R2.
msado15.h is there unly a stub including a header file adoint.h 471 KB and dated from 3.3.2006.

There is also a msado15.idl

Running midl msado15.idl produces :

msado15.h (445 KB)
msado15_i.c (7 KB)
msado15_p.c (436 KB)
dlldata.c (1 KB)

What are the differences between msado15.h(adoint.h), msado15.h(midl), msado15.h(timovjl)?
What are the other files for?

czerny

TimoVJL

#11
Quote from: czerny on March 03, 2013, 08:50:53 PM
timovjl: Your msado15.h is 97 KB big and dated from today. How do you have build it?
Your example is running with nState = 1. But I can not compile it.
POLINK: error: Unresolved external symbol '_IID_Connection15'.
POLINK: error: Unresolved external symbol '_CLSID_Connection'.
I just use 'Load type Library..' (AddIn) and open msado15.dll to create that file and then modified it.
May the source be with you

czerny

#12
Now it compiles! What have you changed? Uups! It doesn't compile anymore.

Stefan Pendl

Quote from: czerny on March 03, 2013, 10:25:32 PM
Now it compiles! What have you changed?

WinMerge, WinDiff or SVNdiff are tools to compare two files or folders, which will enable you to see for yourself what has changed ;)
---
Stefan

Proud member of the UltraDefrag Development Team

TimoVJL

Quote from: czerny on March 03, 2013, 08:50:53 PM
What are the differences between msado15.h(adoint.h), msado15.h(midl), msado15.h(timovjl)?
What are the other files for?

czerny
Use that MIDL msado15.h and msado15_i.c for GUID/IID.
Some version may need to #define __RPC__deref_out
My msado15.h is just too broken.

BTW: In John's site there is ADO with C example:
http://www.johnfindlay.plus.com/lcc-win32/DataBase/c_ado.zip
May the source be with you