D'abord, je suis très nouveau dans Delphi et COM, mais je devrais construire l'application COM dans Delphi. Je lis beaucoup d'articles et de notes sur les internets, mais COM et COM dans Delphi ne sont toujours pas clairs pour moi. Mes sources: http://www.everfall.com/paste/id.php?wisdn8hyhzkt (environ 80 lignes). J'essaie de créer une interface COM et une classe Impl - cela fonctionne si j'appelle une méthode d'interface de Delphi (je crée un objet impl via TestClient.Create), mais si j'essaye de créer un objet du monde extérieur (à partir de Java, par l'intermédiaire com4j) ma demande est écrasé à l'exception suivante:Violation d'accès après GetInterface/QueryInterface dans Delphi
Project Kernel.exe raised exception class $C0000005 with
message 'access violation at 0x00000002: read of address 0x00000002'.
Si je mets un point d'arrêt dans QueryInterface - il se casse, mais quand je sors de la fonction - tous les accidents.
Qu'est-ce que je fais mal? Qu'est-ce que je manque encore? Qu'est-ce que je peux/devrait lire à propos de COM (en Delphi) pour éviter les questions stupides comme celle-ci?
Si je décommenter le code dans QueryInterface - pas de violation d'accès, mais com4j dit que cette interface n'est pas prise en charge. – W55tKQbuRu28Q4xv
Pouvez-vous nous donner une liste de code du côté Java à? –
Désolé, pas maintenant. Je n'ai pas de projet à la maison. Généralement, il est générée automatiquement par com2j et ne comprend que CoCreateInstance (CLSID). – W55tKQbuRu28Q4xv