World: r3wp
[Windows/COM Support]
older newer | first last |
Benjamin 23-Sep-2007 [378] | I've done that in the past, the problem when using direct API calls is passing pointers and stuff, remember you need to create a main loop to pool events and messages, it's a pain... i've some code that does this, but remember that this old style is gone on vista gfx. |
Graham 23-Sep-2007 [379] | what is it that you've done? |
james_nak 27-Oct-2007 [380] | Does anyone have an example of how to pop-up a little window in the Window's system tray? I've seen the system tray examples but I want to create a "reminder" like when Outlook does when gets a new email, etc. |
Henrik 28-Oct-2007 [381] | I've seen one in Graham's Synapse. |
Graham 28-Oct-2007 [382x2] | that was Gabriele's and Allen's popup ... but it's rather Cpu intensive |
Look at the announce.r script here http://trac.geekisp.com/synapse/browser | |
james_nak 28-Oct-2007 [384] | Ah thanks. I saw your name mentioned Graham in the examples. Thanks Y'all. |
james_nak 22-Feb-2008 [385] | Anton, it looks like you have done some work with interfacing with Outlook. I'm trying to create an appointment invitation function. Does your com lib do that? By the way, the old link seems down. Thanks in advance |
Anton 22-Feb-2008 [386x2] | This link? http://anton.wildit.net.au/rebol/os/windows/COMLib/ It seems to be up and working for me at this time. |
Create an appointment - I don't know if it can. The answer is... probably. COMLib is just a wrapper for COM, so if COM can do it, then there's a good chance that COMLib can do it too. I'm not on Windows any more so it's less likely that I'll test it, but I can still do so. | |
james_nak 26-Feb-2008 [388] | Thanks Anton. |
Anton 1-Mar-2008 [389] | You're welcome, James. |
GiuseppeC 3-Mar-2008 [390] | Added to REBOL2 Projects on DocBase. |
Graham 3-Jun-2008 [391x5] | Anton, can you see anything wrong with this ... crashes Rebol rebol [] ; download the skype4com dll from https://developer.skype.com/Docs/Skype4COM/Start ; and register the library ; regsvr32 skype4com.dll ; example of using sms ; https://developer.skype.com/Docs/Skype4COMLib/Sms_vbs COMlib: do %comlib.r COMlib/initialize do bind [ oSkype: CreateObject "Skype4COM.Skype" oSMS: GetObject [ oSkype ".SendSms( %s, %s)" "+12345679" "Hello!" ] ] COMlib/api This should send a SMS using the Skype installed on your PC. |
However, the getObject will invariably crash Rebol on Vista. | |
On Windows 2K, a SMS is sent, but it's just garbage | |
You shouldn't need to register the skype4com.dll as it is normally registered with Skype. | |
Using %S expects a unicode string | |
Dockimbel 3-Jun-2008 [396] | Try by putting a null character at the end of all strings passed to the COMlib ? |
Graham 3-Jun-2008 [397x4] | I wondered about that ... |
Curiously Anton's examples sending normal strings to MS Word and Excel work fine. | |
are null terminated strings like this +12345679^(00) "Hello!(^(00)" or +12345679^(null) "Hello!^(null)" ? | |
or is it #"^@" ? | |
Anton 3-Jun-2008 [401x4] | Each of those way of writing null char are equivalent. |
Each type of COM object may support different string encodings, I think. We'll have to look up what type of encoding Skype supports. | |
It's quite possible these days that it doesn't take ascii. | |
(And COMLib has no string conversion support functions at the moment - you'll have to do any string conversions yourself.) | |
Graham 3-Jun-2008 [405x3] | What about using sprintf, and feeding the c string to skype instead ( http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=printf.r ) |
Just checked on XP .. send sms also sends garbage. I can see the message it is trying to send in Skype and it is garbage there too. So, presumably the way strings are being sent via the comlib is not correct for Skype. | |
I posted a question on the Skype API forums ... not that I am expecting a reply :( | |
Graham 5-Jun-2008 [408] | https://developer.skype.com/jira/browse/SPA-559 They have assigned someone to look at the problem. Since comlib works with other applications, there must be something odd with the way Skype is different string parameters. Or, there is a bug in the way Rebol strings are converted to BSTR strings. |
Anton 6-Jun-2008 [409x2] | The bug is more likely on our side. |
(that's my guess, anyway) | |
Graham 6-Jun-2008 [411x3] | I found two more SMS providers with a COM interface. They both work with the comlib. |
Both Australian based it seems | |
ie. I can use their dlls to send SMS messages. | |
Anton 6-Jun-2008 [414] | Ok... Skype now looks more particular than COMLib, then. |
Graham 9-Jun-2008 [415] | Using the international string format for cellphone numbers and XP, I can now send messages with the latest version of Skype. Still crashes on Vista though. |
Graham 12-Jun-2008 [416x6] | COMlib: do %comlib.r COMlib/initialize if error? set/any 'err try [ do bind [ oSkype: CreateObject "Skype4COM.Skype" if -1 <> res: GetInteger [oSkype "Client.IsRunning"] [ CallMethod [oSkype "Client.Start()"] ] cUserStatus_Offline: GetInteger [oSkype ".Convert.TextToUserStatus(%s)" "OFFLINE"] ] COMlib/api ] [ probe mold disarm err ] |
Gives this error | |
Script: "COMLib (the rebol side of the com2rebol interface)" (9-Mar-2007) {make object! [ code: 800 type: 'user id: 'message arg1: {Member:^^- .Convert.TextToUserStatus(%s) Function:^^- getInteger^^-^^- Error In:^^- InvokeArray Error:^^- Unspecified error Code:^^- 80004005 Source:^^- IDispatch Interface} arg2: none arg3: none near: [GetInteger [oSkype ".Convert.TextToUserStatus(%s)" "OFFLINE"]] where: none ]} | |
Ok, I have this observation. I get crashes or errors with using the getInteger command when passing a string parameter to the skype4com dll. I don't get an error if I don't pass a parameter. I don't get errors when passing strings to Getobject. I also don't get errors passing strings to getInteger to other dlls. Just Skype. | |
now with the same library ( I think ), I also didn't get an error under XP and using Benjamin's getNumber version. | |
Dunno if any of that helps. | |
xavier 12-Jun-2008 [422x2] | hello, i m working on a programm that must interact with outlook and the number dialer of windows ... can someone tell me where do i have to look for documentation on it ? does anybody already did it ? |
i just found the site of anton i go to read all that, it looks like what i wanted :) | |
Gregg 12-Jun-2008 [424] | I've used rasdial very successfully under Windows Xavier. |
Robert 30-Oct-2008 [425] | How can I set the current directory as the active one when I create an XLS object with COMLib? At the moment I need to provide fully-qualified-filenames to open a file. |
Anton 30-Oct-2008 [426x2] | Robert, are you talking about COMLib-anton ? |
If so, there was a problem that really bugged me, which I couldn't find a good way to avoid. That is, the current directory would be where the com2rebol.dll was (or something like that). So you can see the demos have to reference files relative to the parent directory. | |
older newer | first last |