Where's d2d1.h's source file? - idl

The first few lines of d2d1.h in Windows SDK's that contain them (e.g. the one marked as v7.1) are as follows:
//---------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// This file is automatically generated. Please do not edit it directly.
//
// File name: D2D1.h
//---------------------------------------------------------------------------
This indicates that there should be some source file somewhere. Is it included with the SDK, like the many IDL files? I couldn't find anything of the sort.

It is not included in the SDK. It's not public, to my knowledge, if it even exists (which, like you, I'd assume it does from that blurb in the header file).

Related

Using QtClasses in Visual Studio

I am creating an application that uses Qtxlsx writer to transfer data from excel to my own datatype. Can I simply #include the QVariant Class headers or any Q classes headers I need into excel?
You should use Qt Xlsx module as described there. The library supposed to be used in your project just like a set of source code files. And, of course, you can include any headers in your Qt application.

Best way to get the Biztalk orchestration source code from the exported MSI

In one of my project, the developer forgot to check in the changes done to biztalk orchestration but the changes were delivered and installed in production server. I would like to know the best way to get the Biztalk orchestration source code from MSI file/Biztalk. I have read a thread about using a Decompile too but not sure how to get the source code.
Another option is to BizTalk documenter for 2006, 2010 (and soon to be released BizTalk 2013) and generate a help file that documents the Orchestration.
Update: Both of the version above are no longer being supported. The latest versions of BizTalk Documenter for BizTalk 2006 through BizTalk 2013 R2 can be found here
Full Disclosure: I'm one of the developers on this new version.
While you can't decompile to the original Project, you can extract the 'source' files for the artifacts themselves. They're included in the assembly as string resources.
So, once you find the Orchestration source, save that as a .odx in a new Project.
Update:
Note that
The ODX code will be in a private const string _symODXML. Copy that string.
The string will has a lot of \n through it, remove those. After this it should be valid XML.
The string starts at <?xml and finishes at </om:MetaModel> whereas the ODX has some bits before and after that string. So you need to paste into the ODX file so that you replace the central part that matches it in the ODX file and leaving the parts before and after it intact.

Why can I not compile an object in Dynamics NAV containing an OCX?

I imported a Form object from a text file. When I try to compile it I get the following error message:
This message is for C/AL programmers:
The OLE control or Automation Server identified by 'Microsoft Common Dialog Control 6.0 (SP3)'.CommonDialog requires a design time license.
This license cannot be obtained.
Make sure that the OLE control or Automation server is installed correctly with an appropriate license"
I am developing in Dynamics NAV using a developer license. The OCX is registered correctly, gets listed in NAV's "Custom Controls" as pointing to "C:\Windows\SysWOW64\comdlg32.ocx".
Why am I not allowed to compile the object?
The license in question is, as you said, purely for using the CommonDialog component in design-time environments. This has nothing to do with your NAV license or your customers being able to run code that uses the component. The design-time license (which is nothing more than a key in your system registry; not an actual license file) used to get installed with e.g. Microsoft Visual Basic 6.0 or older versions of Microsoft Visual Studio.
If you have access to VB6.0 or VS2005, you can use VB6Controls.reg on the installation disk as described here: http://support.microsoft.com/default.aspx?scid=kb;en-us;318597.
As the message said, the components loads, try to get a license and don't get one. So you don't have one as it says or you don't have it in the path lookup the components looks at it.
There is one more trick you can do to fix this problem and avoid installing a lot of crap like VB6.0.
This message is related to certain automation type variable in the object you trying to compile.
You can copy this variable from any other compiled object in other database or any other compiled object in the same database. And then your imported object will magically compile. Just delete the variable from your imported object's variable list and copy it from compiled object with copy-paste.
I don't know what magic is that but it worked for me many times. I copied variable from the same object in restored backup of the database.

How to get user's download folder in Qt?

How do I get the standard system / user paths in Qt?
What I really need is to get the location of the user's Downloads folder.
In Qt 4, there is QDesktopServices providing some user paths:
https://doc.qt.io/qt-4.8/qdesktopservices.html#StandardLocation-enum
It has e.g. Desktop and Documents but no specific Downloads folder.
In Qt 5, use QStandardPaths:
const QString downloadsFolder = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
You can use QDir::homePath() to get a QString to the home directory of the current user's profile but I'm not sure that there is a "standard" download directory identified by the OS.
With Qt 5.15.0, on a fr-FR Linux (Manjaro) :
qDebug() << QStandardPaths::displayName(QStandardPaths::DownloadLocation);
returns :
"Téléchargement"
This is not the actual French "DownloadLocation" folder name, which is called "Téléchargements", with a plural s, because this folder usually contains more than one downloaded file. Btw, English localization seems to be "~/Downloads", according to Qt 5 online help, with the expected plural s.
Therefore, QStandardPaths::DownloadLocation is unreliable in French. If someone may file and follow the bug at Qt, this might help !

How to keep track of application version when compiling using Adobe Flex 3?

How to monitor version in swf file when we compile a swf file in Adobe Flex file?
Assuming I understand your question correctly, you should check out this blog post of mine, titled "Saving and Accessing Version/Compilation Information with Flex Applications", which goes on to explain how you can use the conditional compilation feature in the mxmlc compiler to save variable values into the compiled binary and then print them to the log (or display in the user interface) within the app itself.
Here are the relevant snippets from that post:
# Compiling the binary with the conditional compilation parameter:
/path/to/mxmlc -define+=DEBUG::compiled,"Fri_Sep_12_17:26:13_on_Alis-MacBook.local" -strict=true /path/to/myApp.mxml
// Printing out the "compiled" value in the application code:
var DEBUG:Namespace = new Namespace("DEBUG");
var compiledStr:String = DEBUG::compiled;
trace("SWF was compiled: "+compiledStr);
As far as the actual "version number" goes, I just use three things:
the compilation date (see the example scripts in the post for info on how to automate this)
the hostname of the computer where it was compiled (also demonstrated in the post)
the SVN revision of the working copy (see my answer to this question for info on how to get the SVN revision number)

Resources