Recent Posts

Pages: [1] 2 3 ... 10
1
64-bit SDK programming / Re: zTrace from dll
« Last post by Patrice Terrier on Today at 11:11:57 pm »
#define long_proc typedef long (__stdcall *zProc)

Yes, there is no difference.

The first purpose of zTrace was to help me to debug both WinLIFT.dll and GDImage.dll...
2
64-bit SDK programming / Re: zTrace from dll
« Last post by James Fuller on Today at 09:30:26 pm »
Thank you but...
missed a line:
#define long_proc typedef long (__stdcall *zProc)

I thought it might be different for a dll  but it is the same as the code I use for an exe.

James
 
3
64-bit SDK programming / Re: zTrace from dll
« Last post by Patrice Terrier on Today at 04:33:14 pm »
OF COURSE !!!

Code: [Select]
long zTrace(IN WCHAR* sPtr) {
    long nRet = 0;
    static HMODULE hDll;
    if (hDll == 0) {
        if (sizeof(LONG_PTR) == 8) {
            hDll = LoadLibrary(L"zTrace64");
        }
        else {
            hDll = LoadLibrary(L"zTrace32");
        }
    }
    if (hDll) {
        long_proc(WCHAR*);
        static zProc hProc;
        if (hProc == 0) { hProc = (zProc)GetProcAddress(hDll, "zTrace"); }
        if (hProc) { nRet = hProc(sPtr); }
    }
    return nRet;
}
4
64-bit SDK programming / zTrace from dll
« Last post by James Fuller on Today at 12:12:59 pm »
Patrice,
  Can zTrace be used from a dll?
If so would you show an example?

Thank you and be safe,

James
5
The 3D Model Collection / Re: Car
« Last post by Patrice Terrier on July 06, 2020, 05:55:27 pm »
BTRGAZ (Sketchfab)
Created by Korpusenko
Reworked for ObjReader by Patrice Terrier

Note: This model requires ObjReader version 2.80 and above









Note: Attachments are only available to registered users.
6
ORDLL64 / Re: ORDLL64.dll API
« Last post by Patrice Terrier on July 05, 2020, 02:35:14 pm »
Hicham

Merci pour le commentaire, en effet certains projets postés sur ce site représentent des mois, voire des années de travail ...

Il en est de même pour la majorité des modèles 3D sur lesquels j'ai passé un temps considérable, à polir les moindres détails afin qu'ils soient le plus proches de la réalité.

Pour moi la programmation est un art, une passion, et quand on aime on ne compte pas ;)
7
ORDLL64 / Re: ORDLL64.dll API
« Last post by Hicham SALMI on July 05, 2020, 07:43:14 am »
It's an amazing work Patrice. Thank you.

Je suis toujours émerveillé par le gigantesque travail qui est fait ici.

Bon développement cher Patrice.
8
Canary Bay / Re: Canary Bay (PowerBASIC version)
« Last post by Patrice Terrier on July 03, 2020, 04:47:08 pm »
Version 1.07 has been attached to the first post of this thread.
9
Canary Bay / Canary Bay Visual Studio C++ 64-bit source code (WV2B)
« Last post by Patrice Terrier on June 29, 2020, 01:50:38 pm »
Voici le lien pour télécharger le projet complet au format Visual Studio 2019.
Here is the link to download the full project written with Visual Studio 2019.
WV2B source code

Attention, ce code est modifié en profondeur pour permettre son utilisation en mode autonome ou sous le contrôle d'une autre application.
Warning, this code has been heavily changed to run as a standalone or under control of another application.

Le code peut être compilé avec la version gratuite de Visual Studio (Community version).
You can compile the code with the free Visual Studio Community version.

LoadConfig est la fonction qui permet de lire les paramètres de lancement de WV2.B.exe sous le contrôle d'une autre application.
LoadConfig is the config function to read the starting parameters of WV2.B.exe when running under control of another application.
Code: [Select]
BOOL LoadConfig(OUT DWORD &ExStyle, OUT DWORD &Style, OUT HWND &hParent, OUT LONG &x, OUT LONG &y, OUT long &w, OUT LONG &h) {
    BOOL bRet = FALSE;
    DWORD dwBytes = 0;
    SETBIN cfg = { 0 };
    ExStyle = 0; Style = 0; hParent = 0;
    x = 0; y = 0; w = 0; h = 0;
    if (FileExist(EXEconfig())) {
        if (FileSize(EXEconfig()) == sizeof(cfg)) {
            HANDLE hFile = CreateFile(EXEconfig(), GENERIC_READ, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
            if (hFile != INVALID_HANDLE_VALUE) {
                if (ReadFile(hFile, &cfg, sizeof(cfg), &dwBytes, NULL)) {
                    ExStyle = cfg.ExStyle; Style = cfg.Style; hParent = cfg.hParent;
                    x = cfg.x; y = cfg.y; w = cfg.w; h = cfg.h;
                    BrowserParent(hParent);
                    BrowserOnTabClose(cfg.onTABclose);
                    BrowserUseThisURL(cfg.defaultURL);
                    BrowserMsg();
                    bRet = TRUE;
                }
                CloseHandle(hFile);
                DeleteFile(EXEconfig());
            }
        }
    }
    return bRet;
}

La taille de la structure SETBIN doit être absolument identique dans l'application maître et dans WV2B.exe.
The SETBIN structure size must be exactly the same in the leading and the slave application.
Code: [Select]
struct SETBIN {
    DWORD ExStyle;
    DWORD Style;
    HWND hParent;
    LONG x;
    LONG y;
    LONG w;
    LONG h;
    WCHAR onTABclose[MAX_PATH];
    WCHAR defaultURL[MAX_PATH];
};

Lorsque WV2B.exe fonctionne en tant qu'application indépendante, son interface est skinnée avec un thème WinLIFT spécifique, alors que sous contrôle d'une autre application l'abscence de la zone "Non-Client-Area" vous permet de lui donner l'apparence de votre choix.
When WV2B.exe is running in standalone mode, it uses a Skinned GUI based on a WinLIFT theme, while under control of another application the lack of NC_AREA allows you to give it the look of your choice.

WV2B.exe, étant une application 64-bit native, la vitesse d'exécution du code Direct 3D est indépendante du conteneur, même dans une application p-code Windev.
WV2B.exe, being a native 64-bit application, the processing speed of the Direct 3D code is unaffected by the bottle neck of its container, even when used from a Windev p-code window.


Note:
Ce projet représente un travail important, merci de respecter le travail de ceux qui partagent généreusement leur code avec vous.
Une donation, même modeste, est le meilleur moyen de montrer votre reconnaissance et aide à payer le coût de fonctionnement de ce forum.
This project represents an important work, thank you for respecting the work of those who generously share their code with you.
A donation, even small, is the best way to show your appreciation and help pay the cost of running this forum.


10
Canary Bay / Re: Canary Bay WV2B (WD25 and WD17+)
« Last post by Patrice Terrier on June 28, 2020, 05:01:35 pm »
The WD17+ version is attached to the first post of this thread.

This version uses "ChampClone" rather than "ControlCreate" (that was made available only in version 19).
For WD17+, i am providing direct support of the GDIPLUS flat API, needed to create the images used by the short cut buttons (cf: LoadURL).



If you download and use this project, don't forget to make a small donation to support my work.
Pages: [1] 2 3 ... 10