r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Windows/COM Support]

Anton
9-Mar-2007
[366x2]
COMLib has been updated:

Backwards compatibility fixes in the main rebol interface file, COMLib.r
http://anton.wildit.net.au/rebol/os/windows/COMLib/
This is in response to Philippe Legoff in RebolTalk
http://www.reboltalk.com/forum/index.php/topic,335.0.html
Maxim
9-Mar-2007
[368x2]
anton, can this be used to embed MS IE into a view app?
even if slow...
Anton
9-Mar-2007
[370]
Umm... don't know.
Maxim
9-Mar-2007
[371x2]
what do you use the com lib for?
I'm just curious.
Anton
9-Mar-2007
[373]
Check out the demos on the website.
Maxim
9-Mar-2007
[374]
hum interesting.
Anton
9-Mar-2007
[375]
Hopefully, since it is a wrapper for COM, you should be able to do 
anything that COM allows you to do. So the answers to all these types 
of questions are to be found by researching COM land (which I myself 
am not very familiar with).
Maxim
9-Mar-2007
[376x2]
ok... I know that you can use com to get a text version of any file 
format which has a thumbnail viewer... which can be very usefull 
to read things like pdf, word, and other obscure file types....
hum... printing  :-)  that's cool.
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.