Aggiungo un elemento importante.
Ho trovato
questo post in giro. Il tipo che l'ha scritto ha avuto un problema praticamente equivalente, anche se io non ho niente a che vedere con Maya.
In buona sostanza lui dice che, se si crea una libreria (statica o dinamica) e si compilano nella libreria stessa delle risorse, quando un programma esterno la carica non vede queste risorse. Per vederle sembra che il programma client debba incorporarle lui stesso. Mi spiego meglio.
Progetto A:
contiene l'implementazione della libreria
contiene il file di risorse con la gui della libreria
Progetto B:
contiene un eseguibile che carica la libreria e la usa
In questo scenario, nel momento in cui chiamo una banale DialogBox(), ottengo il famoso errore 1812 e la gui non viene mostrata.
Ho provato quanto suggerito in quel post e lo scenario diventa:
Progetto A:
contiene l'implementazione della libreria
contiene il file di risorse con la gui della libreria
Progetto B:
contiene un eseguibile che carica la libreria e la usa
contiene lo stesso file .rc del progetto A.
Cosi invece funziona.
Questo fatto mi sembra una cagata spaventosa...ma dipende da Visual Studio oppure è proprio cosi che è fatta la gestione delle .rc? Questo mi creerebbe dei problemi, perchè io non ho alcun controllo sul programma client che invoca la mia libreria, che tra l'altro è scritto in un altro linguaggio.

Rispondi quotando