[Python.NET] Re: "TypeError: No method matches given arguments" Error - please help!
Slide <[email protected]> Sat, 14 Aug 2021 06:35:00 -0700
| Newsgroups | gmane.comp.python.dotnet |
|---|---|
| Message-ID | <CAPiUgVfOYtQx30KGTQAPKaDCCVsj6vVKu0GU7jkLD3PrXj7S6A@mail.gmail.com> |
--===============2780422452881668718== Content-Type: multipart/alternative; boundary="0000000000008b641e05c9850992" --0000000000008b641e05c9850992 Content-Type: text/plain; charset="UTF-8" When calling a .NET method that has out parameters, you have to supply dummy arguments for the out parameters, can you try something like: result, response, errString = ESP301Device.SR_Get(1, 0.0, '') The values don't seem to matter, but they must be there from what I have seen in my usage. On Fri, Aug 13, 2021 at 9:03 PM LOST _ <[email protected]> wrote: > Hi Matt, > > > > From the description this looks like a bug in pythonnet. Can you tell > which version of pythonnet are you using? > > > > Regards, > > Victor > > > > > > *From: *[email protected] > *Sent: *Friday, August 13, 2021 8:59 PM > *To: *[email protected] > *Subject: *[Python.NET] "TypeError: No method matches given arguments" > Error - please help! > > > > This seems to come up semi-regularly from a web search, but I have been > unable to converge on a solution. I am using Python 3.8 and pythonnet to > try to control a Newport ESP301 motion controller. The supplied .NET > assembly contains this command: > > > > public int SR_Get(int axisNumber, out double limit, out string errstring) > > { > > errstring = string.Empty; > > limit = double.MinValue; > > string text = string.Format("{0}{1}", > axisNumber.ToString(), "SR"); > > string text2 = text + "?"; > > string empty = string.Empty; > > StringBuilder sbBuffer = new StringBuilder(); > > int num = m_COM.Query(text2, ref sbBuffer); > > empty = sbBuffer.ToString(); > > empty = empty.Trim(); > > errstring = checkReturnCodeAndResponse(text2, > num, empty); > > if (num == 0 && string.IsNullOrEmpty(errstring)) > > { > > decodeDoubleFromResponse(text, > empty, out limit); > > } > > if (!string.IsNullOrEmpty(errstring)) > > { > > return -1; > > } > > return 0; > > } > > > > I am unable to get this command to run successfully using Pythonnet. Here > is my code: > > import sys > > print("Adding location of Newport.ESP301.CommandInterface.dll to sys.path") > > > sys.path.append(r'C:\Windows\Microsoft.NET\assembly\GAC_64\Newport.ESP301.CommandInterface\v4.0_2.0.0.3__9f994642f5b48132') > > > > import clr > > clr.AddReference("Newport.ESP301.CommandInterface") > > from CommandInterfaceESP301 import * > > > > import System > > > > #===================================================================== > > > > # Instrument Initialization > > instrument="COM3" > > BAUDRATE = 921600 > > print('Instrument Key=>', instrument) > > > > # create an ESP301 instance > > ESP301Device = ESP301() > > > > # Open communication > > ret = ESP301Device.OpenInstrument(instrument, BAUDRATE); > > if ret == 0: > > print("Instrument successfully opened!") > > else: > > print("Error!") > > # Get positive software limit > > result, response, errString = ESP301Device.SR_Get(1) > > if result == 0: > > print('positive software limit=>', response) > > else: > > print('Error=>', errString) > > > > If I try to execute this code, I get the following error: > > ====== RESTART: C:\Users\Laser\Documents\Python Programs\esp301_python.py > ====== > > Adding location of Newport.ESP301.CommandInterface.dll to sys.path > > Instrument Key=> COM3 > > Instrument successfully opened! > > Traceback (most recent call last): > > File "C:\Users\Laser\Documents\Python Programs\esp301_python.py", line > 57, in <module> > > result, response, errString = ESP301Device.SR_Get(1) > > TypeError: No method matches given arguments for SR_Get: (<class 'int'>) > > > > > > I thought this was originally a problem with int64 vs. int32 but I have > tried several methods for converting between these and all give the same > error. FWIW, I have no trouble getting this to work in Matlab: > > clear > > % Add Assembly > > > NET.addAssembly('C:\Windows\Microsoft.NET\assembly\GAC_64\Newport.ESP301.CommandInterface\v4.0_2.0.0.3__9f994642f5b48132\Newport.ESP301.CommandInterface.dll'); > > % load modules > > import CommandInterfaceESP301.*; > > cport = "COM3"; > > BAUDRATE = 921600; > > ESP301Device = ESP301(); > > % open communication > > ret = ESP301Device.OpenInstrument(cport, BAUDRATE); > > if ret == 0 > > disp("Intrument open!") > > else > > disp("Error!") > > end > > > > % Get negative software limit > > [result, response, errString] = ESP301Device.SR_Get(1); > > > > I'm completely stumped and frustrated at this point. Any constructive > feedback would be very appreciated! > > > > Matt > > _______________________________________________ > > PythonNet mailing list -- [email protected] > > To unsubscribe send an email to [email protected] > > https://mail.python.org/mailman3/lists/pythonnet.python.org/ > > Member address: [email protected] > > > _______________________________________________ > PythonNet mailing list -- [email protected] > To unsubscribe send an email to [email protected] > https://mail.python.org/mailman3/lists/pythonnet.python.org/ > Member address: [email protected] > -- Website: http://earl-of-code.com --0000000000008b641e05c9850992 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">When calling a .NET method that has out parameters, you ha= ve to supply dummy arguments for the out parameters, can you try something = like:<div><br></div><div>result, response, errString =3D ESP301Device.SR_Ge= t(1, 0.0, '')<br><div><br></div><div>The values don't seem to m= atter, but they must be there from what I have seen in my usage.</div><div>= <br></div></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class= =3D"gmail_attr">On Fri, Aug 13, 2021 at 9:03 PM LOST _ <<a href=3D"mailt= o:[email protected]">[email protected]</a>> wrote:<br></div><blo= ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left= :1px solid rgb(204,204,204);padding-left:1ex"><div lang=3D"EN-US" style=3D"= overflow-wrap: break-word;"><div class=3D"gmail-m_6267113752672992314WordSe= ction1"><p class=3D"MsoNormal">Hi Matt,</p><p class=3D"MsoNormal"><u></u>= =C2=A0<u></u></p><p class=3D"MsoNormal">From the description this looks lik= e a bug in pythonnet. Can you tell which version of pythonnet are you using= ?</p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal">= Regards,</p><p class=3D"MsoNormal">Victor</p><p class=3D"MsoNormal"><u></u>= =C2=A0<u></u></p><div style=3D"border-right:none;border-bottom:none;border-= left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p cla= ss=3D"MsoNormal" style=3D"border:none;padding:0in"><u></u>=C2=A0<u></u></p>= <p class=3D"MsoNormal" style=3D"border:none;padding:0in"><b>From: </b><a hr= ef=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a><br>= <b>Sent: </b>Friday, August 13, 2021 8:59 PM<br><b>To: </b><a href=3D"mailt= o:[email protected]" target=3D"_blank">[email protected]</a><br><b>Su= bject: </b>[Python.NET] "TypeError: No method matches given arguments&= quot; Error - please help!</p></div><p class=3D"MsoNormal"><u></u>=C2=A0<u>= </u></p><p class=3D"MsoNormal">This seems to come up semi-regularly from a = web search, but I have been unable to converge on a solution. I am using Py= thon 3.8 and pythonnet to try to control a Newport ESP301 motion controller= . The supplied .NET assembly contains this command:</p><p class=3D"MsoNorma= l"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal">public int SR_Get(int axi= sNumber, out double limit, out string errstring)</p><p class=3D"MsoNormal">= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 {</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 errstring =3D string.Empty;</p><p c= lass=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 limit =3D double.MinValue;</p><p class=3D"MsoNo= rmal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 string text =3D string.Format("{0}{1}", axisNumber.T= oString(), "SR");</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string text2 = =3D text + "?";</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string empty = =3D string.Empty;</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 StringBuilder sbBuffer = =3D new StringBuilder();</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int num =3D m_COM= .Query(text2, ref sbBuffer);</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 empty =3D s= bBuffer.ToString();</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 empty =3D empty.Trim= ();</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 errstring =3D checkReturnCodeAndRespon= se(text2, num, empty);</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (num =3D=3D 0 = && string.IsNullOrEmpty(errstring))</p><p class=3D"MsoNormal">=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 {</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 decodeDoubleFromResponse(t= ext, empty, out limit);</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</p><p class=3D"= MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 if (!string.IsNullOrEmpty(errstring))</p><p class=3D"Mso= Normal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 {</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -1;</p>= <p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return 0= ;</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</p><p class=3D"MsoNormal"><u></u>=C2=A0= <u></u></p><p class=3D"MsoNormal">I am unable to get this command to run su= ccessfully using Pythonnet. Here is my code:</p><p class=3D"MsoNormal">impo= rt sys</p><p class=3D"MsoNormal">print("Adding location of Newport.ESP= 301.CommandInterface.dll to sys.path")</p><p class=3D"MsoNormal">sys.p= ath.append(r'C:\Windows\Microsoft.NET\assembly\GAC_64\Newport.ESP301.Co= mmandInterface\v4.0_2.0.0.3__9f994642f5b48132')</p><p class=3D"MsoNorma= l">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 </p><p class=3D"MsoNormal">import clr</p><p class=3D"Mso= Normal">clr.AddReference("Newport.ESP301.CommandInterface")</p><p= class=3D"MsoNormal">from CommandInterfaceESP301 import *</p><p class=3D"Ms= oNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal">import System</p><p= class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal">#=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</p><p class=3D"MsoNorma= l"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal"># Instrument Initializati= on</p><p class=3D"MsoNormal">instrument=3D"COM3"</p><p class=3D"M= soNormal">BAUDRATE =3D 921600 </p><p class=3D"MsoNormal">print('Instrum= ent Key=3D>', instrument)</p><p class=3D"MsoNormal"><u></u>=C2=A0<u>= </u></p><p class=3D"MsoNormal"># create an ESP301 instance </p><p class=3D"= MsoNormal">ESP301Device =3D ESP301() </p><p class=3D"MsoNormal"><u></u>=C2= =A0<u></u></p><p class=3D"MsoNormal"># Open communication </p><p class=3D"M= soNormal">ret =3D ESP301Device.OpenInstrument(instrument, BAUDRATE); </p><p= class=3D"MsoNormal">if ret =3D=3D 0:</p><p class=3D"MsoNormal">=C2=A0=C2= =A0=C2=A0 print("Instrument successfully opened!")</p><p class=3D= "MsoNormal">else:</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 print("= Error!")</p><p class=3D"MsoNormal"> </p><p class=3D"MsoNormal"># Get p= ositive software limit</p><p class=3D"MsoNormal">result, response, errStrin= g =3D ESP301Device.SR_Get(1) </p><p class=3D"MsoNormal">if result =3D=3D 0:= </p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 print('positive software = limit=3D>', response) </p><p class=3D"MsoNormal">else: </p><p class= =3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0print('Error=3D>', errStr= ing)</p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNorma= l">If I try to execute this code, I get the following error:</p><p class=3D= "MsoNormal">=3D=3D=3D=3D=3D=3D RESTART: C:\Users\Laser\Documents\Python Pro= grams\esp301_python.py =3D=3D=3D=3D=3D=3D</p><p class=3D"MsoNormal">Adding = location of Newport.ESP301.CommandInterface.dll to sys.path</p><p class=3D"= MsoNormal">Instrument Key=3D> COM3</p><p class=3D"MsoNormal">Instrument = successfully opened!</p><p class=3D"MsoNormal">Traceback (most recent call = last):</p><p class=3D"MsoNormal">=C2=A0 File "C:\Users\Laser\Documents= \Python Programs\esp301_python.py", line 57, in <module></p><p c= lass=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 result, response, errString =3D ESP30= 1Device.SR_Get(1)</p><p class=3D"MsoNormal">TypeError: No method matches gi= ven arguments for SR_Get: (<class 'int'>)</p><p class=3D"MsoN= ormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u><= /p><p class=3D"MsoNormal">I thought this was originally a problem with int6= 4 vs. int32 but I have tried several methods for converting between these a= nd all give the same error. FWIW, I have no trouble getting this to work in= Matlab:</p><p class=3D"MsoNormal">clear</p><p class=3D"MsoNormal">% Add As= sembly</p><p class=3D"MsoNormal">NET.addAssembly('C:\Windows\Microsoft.= NET\assembly\GAC_64\Newport.ESP301.CommandInterface\v4.0_2.0.0.3__9f994642f= 5b48132\Newport.ESP301.CommandInterface.dll');</p><p class=3D"MsoNormal= ">% load modules</p><p class=3D"MsoNormal">import CommandInterfaceESP301.*;= </p><p class=3D"MsoNormal">cport =3D "COM3";</p><p class=3D"MsoNo= rmal">BAUDRATE =3D 921600;</p><p class=3D"MsoNormal">ESP301Device =3D ESP30= 1();</p><p class=3D"MsoNormal">% open communication</p><p class=3D"MsoNorma= l">ret =3D ESP301Device.OpenInstrument(cport, BAUDRATE);</p><p class=3D"Mso= Normal">if ret =3D=3D 0</p><p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 disp(&= quot;Intrument open!")</p><p class=3D"MsoNormal">else</p><p class=3D"M= soNormal">=C2=A0=C2=A0=C2=A0 disp("Error!")</p><p class=3D"MsoNor= mal">end</p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoN= ormal">% Get negative software limit</p><p class=3D"MsoNormal">[result, res= ponse, errString] =3D ESP301Device.SR_Get(1);</p><p class=3D"MsoNormal"><u>= </u>=C2=A0<u></u></p><p class=3D"MsoNormal">I'm completely stumped and = frustrated at this point. Any constructive feedback would be very appreciat= ed!</p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal= ">Matt</p><p class=3D"MsoNormal">__________________________________________= _____</p><p class=3D"MsoNormal">PythonNet mailing list -- <a href=3D"mailto= :[email protected]" target=3D"_blank">[email protected]</a></p><p cla= ss=3D"MsoNormal">To unsubscribe send an email to <a href=3D"mailto:pythonne= [email protected]" target=3D"_blank">[email protected]</a></p><p = class=3D"MsoNormal"><a href=3D"https://mail.python.org/mailman3/lists/pytho= nnet.python.org/" target=3D"_blank">https://mail.python.org/mailman3/lists/= pythonnet.python.org/</a></p><p class=3D"MsoNormal">Member address: <a href= =3D"mailto:[email protected]" target=3D"_blank">[email protected]</= a></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div></div>__________= _____________________________________<br> PythonNet mailing list -- <a href=3D"mailto:[email protected]" target=3D= "_blank">[email protected]</a><br> To unsubscribe send an email to <a href=3D"mailto:[email protected]= g" target=3D"_blank">[email protected]</a><br> <a href=3D"https://mail.python.org/mailman3/lists/pythonnet.python.org/" re= l=3D"noreferrer" target=3D"_blank">https://mail.python.org/mailman3/lists/p= ythonnet.python.org/</a><br> Member address: <a href=3D"mailto:[email protected]" target=3D"_blank">= [email protected]</a><br> </blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"= class=3D"gmail_signature">Website:=C2=A0<a href=3D"http://earl-of-code.com= " target=3D"_blank">http://earl-of-code.com</a></div> --0000000000008b641e05c9850992-- --===============2780422452881668718== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ PythonNet mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/pythonnet.python.org/ Member address: [email protected] --===============2780422452881668718==--