CreateDialogIndirectParam und ActiveX Control, wie gehts ?



  • Hallo, da dies mein erster Beitrag hier im Forum ist, möchte ich mich gerne mal kurz vorstellen !

    Ich heiße Mathias (25) und bin derzeit im 3. Lehrjahr zum Anwendungsentwickler, arbeite in einer relativ großen Firma in Nürnberg. Ich bin gerade dabei mein Abschlussprojekt zu programmieren, dabei geht es um die Verbesserung unserer Internationalisierung, unsere Übersetzer sollen die Übersetzungsdatei via Webanwendung jederzeit bearbeiten können. Das ganze Projekt will ich mit C# und .NET bzw. ASP.NET entwickeln.

    Es soll die Möglichkeit bestehen vorhandene Texte aus unseren .dlls, bzw. die darin enthaltenen Resourcen, lesen zu können, dieses klappt soweit wunderbar AUSSER bei Dialogen die ActiveX Controls enthalten. Mittles der C++ Api

    [DllImport("user32.dll", SetLastError = true)]
            static extern IntPtr CreateDialogIndirectParam(IntPtr hInstance,
               IntPtr lpTemplate, IntPtr hWndParent, DialogDelegate lpDialogFunc,
               IntPtr lParamInit);
    

    gehe bisher so vor:

    IntPtr hResInfo = FindResource(hModule, lpName, lpType);
                        IntPtr hResLoad = LoadResource(hModule, hResInfo);
                        IntPtr template = LockResource(hResLoad);
    
                        IntPtr hDlgHandle = CreateDialogIndirectParam(hModule, template, IntPtr.Zero, dlgDel, IntPtr.Zero);
    

    Sobald der Dialog jetzt ein ActiveX Control (wir benutzen als Grid das Farpoint Spreadsheet) beinhaltet bekomme ich kein Handle zurück (0) und GetLastError() liefert auch 0 zurück.
    Nach unzähligen Googlesessions habe ich auch schon so einiges ausprobiert, das wohl naheliegendste ist die fehlende Registrierung des Controls, doch ich bin der Meinung das passt eigentlich alles, was natürlich völliger Blödsinn ist, also hier bitte ich um Hilfestellung, muss ich das Control noch irgendwie besonders behandeln ? Mir liegen zwar die Sourcen zu den .dlls vor, aus welche ich die Resourcen auslese, ich sollte es aber nach Möglichkeit vermeiden dort Änderungen vornehmen zu müssen. In meiner C# IDE (VS2008) habe ich das GridControl auch schon hinzugefügt.
    Also was muss ich da noch beachten ?

    An diesem Probleme hänge ich jetzt auch schon einige Zeit, es handelt sich dabei auch mehr um eine Zusatzfunktion für mein Programm, da es noch die Möglichkeit gibt die .RC Datei zu parsen.

    Sollten noch Fragen sein oder etwas unverständlich ist, so legt los.
    Mich beschäftigt das schon seit einigen Wochen und ich fänds echt schön wenn ich diese Funktionalität auch noch vollständig implementieren könnte.

    Wenn noch mehr Code benötigt wird, kein Problem !

    Mfg

    Mathias



  • Das interessiert hier keine Sau, was Du alles schon gemacht hast und was Du noch machen wirst.
    Lerne erst mal programmeiern.



  • An Programmeiern habe ich tatsächlich kein Interesse, aber wenn du progammieren meintest, du hast davon offentsichtlich keine Ahnung, sonst hättest du meine Frage verstanden. Danke für diesen sehr hilfreichen Beitrag!


Log in to reply