Avatar billede wisen Nybegynder
27. juli 2004 - 08:51 Der er 3 kommentarer og
1 løsning

Marshalling mellem managed og unmanaged

Jeg har følgende Callback i Win32 som jeg ønsker at benytte :

void HyphenateProc(WCHAR *pszWord, LANGID langid, LONG ichExceed, HYPHRESULT *phyphresult);

.. meningen er at jeg skal implementere metoden i mit managed project - en RichEdit kontrol kalder den for at få at vide hvordan et bestemt ord skal orddeles.

Spørgsmålet er, hvordan skal min delegate se ud for at det kommer til at virke - det problem jeg har er at få returneret 'phyphresult' fra managed til unmanaged.
Avatar billede wisen Nybegynder
28. juli 2004 - 10:36 #1
.. er der godt nok ikke nogen der kan knække den ? - sætter lige lidt flere point på

/Wisen
Avatar billede arne_v Ekspert
28. juli 2004 - 19:01 #2
Altså du vil:

managed C# kode----(call)---->unmanaged C kode----(callback)---->managed C# kode

?
Avatar billede wisen Nybegynder
29. juli 2004 - 08:04 #3
Ja, noget i den stil. Jeg skal bruge Microsoft's RTF-editor som i den version der kommer med WinXP SP 1 understøtter orddeling - via ovenstående callback.

Man hooker den på via en message WM_SETHYPHENATEINFO og det er sådan set ikke noget problem, vi får kaldt callback'en.... Meningen med funktionen er at man skal orddele ordet 'pszWord' og returnere resultatet i 'phyphresult' - og det er det der er problemet.. altså at få returneret resultatet
Avatar billede wisen Nybegynder
19. august 2004 - 09:12 #4
Har selv løst problemet - lukker defor spørgsmålet.

Det var som jeg forventede et spørgsmål om at sætte nogle "MarshalAs" ind de rigtige steder :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester