<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Paul Tallett's Web Log</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/ptallett/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/ptallett/feed.xml</link>
    <description />
    <lastBuildDate>Tue, 16 Apr 2019 05:24:16 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Communicate across multiple Silverlight 2 instances in c-sharp</title>
      <link>https://docs.microsoft.com/archive/blogs/ptallett/communicate-across-multiple-silverlight-2-instances-in-c-sharp</link>
      <pubDate>Sat, 05 Jul 2008 12:19:00 GMT</pubDate>
      <dc:creator><![CDATA[ptallett]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ptallett/2008/07/05/communicate-across-multiple-silverlight-2-instances-in-c-sharp/</guid>
      <description><![CDATA[I recently was writing a video player in Silverlight 2 beta 2 and there was a requrement that when...]]></description>
      <content:encoded><![CDATA[<P>I recently was writing a video player in Silverlight 2 beta 2 and there was a requrement that when you hit PLAY on one player, all the others stopped. That's fine, I thought, I'll just create a static list and add each instance to the list in the constructor. Only trouble was, this didn't work because these were different instances of Silverlight on the page, so different CLR instances. What I needed was a way to call across app domains between the Silverlight instances. What I did was pretty clean so I thought I'd post about it.</P>
<P>I registered my class as JavaScript callable, then called it from C# using the Silverlight bridge!</P><FONT size=2></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2><FONT size=2>
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>private</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>const</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>string</FONT></FONT><FONT size=2> player_name = </FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>"My_Silverlight_VideoPlayer"</FONT></FONT><FONT size=2>;</FONT><BR>private</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>static</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>int</FONT></FONT><FONT size=2> instanceCount = 0;<BR></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>private</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>int</FONT></FONT><FONT size=2> thisInstance = 0;<BR><BR><FONT color=#0000ff size=2><FONT color=#0000ff size=2>public</FONT></FONT><FONT size=2> Player()<BR>{<BR></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp; this</FONT></FONT><FONT size=2>.thisInstance = ++instanceCount;<BR>&nbsp;&nbsp;&nbsp; RegisterPlayerWithJavaScript();<BR><FONT size=2>}<FONT size=2></P>
<P></FONT><FONT color=#008000 size=2><FONT color=#008000 size=2>// We want to call methods on all other instances of this class (eg to Pause all videos on a<BR></FONT></FONT><FONT color=#008000 size=2><FONT color=#008000 size=2>// page when we are playing). However, the other players are in other instances of Silverlight<BR></FONT></FONT><FONT color=#008000 size=2><FONT color=#008000 size=2>// controls which each host their own instance of the CLR, so we can't use statics. Instead<BR></FONT></FONT><FONT color=#008000 size=2><FONT color=#008000 size=2>// we register ourself with JavaScript interop (which is global to the HTML page), and call the<BR></FONT></FONT><FONT color=#008000 size=2><FONT color=#008000 size=2>// other instances through interop. See the GetPlayers() function below.</P></FONT></FONT><FONT size=2>
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>private</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>void</FONT></FONT><FONT size=2> RegisterPlayerWithJavaScript()<BR>{<BR>&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>for</FONT></FONT><FONT size=2> (</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>int</FONT></FONT><FONT size=2> i = 0; i &lt; 100; i++)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>string</FONT></FONT><FONT size=2> name = player_name + i.ToString();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>object</FONT></FONT><FONT size=2> obj = </FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>HtmlPage</FONT></FONT><FONT size=2>.Window.GetProperty(name); </FONT><FONT color=#008000 size=2><FONT color=#008000 size=2>// Look for an unused name<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>if</FONT></FONT><FONT size=2> (obj == </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>null</FONT></FONT><FONT size=2>)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>HtmlPage</FONT></FONT><FONT size=2>.Window.SetProperty(name, </FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>HtmlPage</FONT></FONT><FONT size=2>.Plugin.Id + </FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>","</FONT></FONT><FONT size=2> + </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>this</FONT></FONT><FONT size=2>.thisInstance.ToString());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>HtmlPage</FONT></FONT><FONT size=2>.RegisterScriptableObject(</FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>"Player"</FONT></FONT><FONT size=2> + </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>this</FONT></FONT><FONT size=2>.thisInstance.ToString(), </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>this</FONT></FONT><FONT size=2>);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>break</FONT></FONT><FONT size=2>;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }<BR>}</P>
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>private</FONT></FONT><FONT size=2> </FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>List</FONT></FONT><FONT size=2>&lt;</FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>ScriptObject</FONT></FONT><FONT size=2>&gt; GetPlayers(</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>bool</FONT></FONT><FONT size=2> includeMe)<BR>{<BR>&nbsp;&nbsp;&nbsp; </FONT><FONT color=#008000 size=2><FONT color=#008000 size=2>// return all players on the page<BR>&nbsp;&nbsp;&nbsp; </FONT></FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>List</FONT></FONT><FONT size=2>&lt;</FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>ScriptObject</FONT></FONT><FONT size=2>&gt; list = </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>new</FONT></FONT><FONT size=2> </FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>List</FONT></FONT><FONT size=2>&lt;</FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>ScriptObject</FONT></FONT><FONT size=2>&gt;();<BR>&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>for</FONT></FONT><FONT size=2> (</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>int</FONT></FONT><FONT size=2> i = 0; i &lt; 100; i++)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>string</FONT></FONT><FONT size=2> name = player_name + i.ToString();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>string</FONT></FONT><FONT size=2> token = (</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>string</FONT></FONT><FONT size=2>)</FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>HtmlPage</FONT></FONT><FONT size=2>.Window.GetProperty(name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>if</FONT></FONT><FONT size=2> (token == </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>null</FONT></FONT><FONT size=2>)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>break</FONT></FONT><FONT size=2>;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string</FONT></FONT><FONT size=2>[] parts = token.Split(</FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>','</FONT></FONT><FONT size=2>);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>string</FONT></FONT><FONT size=2> id = parts[0];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>string</FONT></FONT><FONT size=2> instance = parts[1];<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>if</FONT></FONT><FONT size=2> (includeMe || id != </FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>HtmlPage</FONT></FONT><FONT size=2>.Plugin.Id || instance != </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>this</FONT></FONT><FONT size=2>.thisInstance.ToString())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>ScriptObject</FONT></FONT><FONT size=2> that = (</FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>ScriptObject</FONT></FONT><FONT size=2>)</FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>HtmlPage</FONT></FONT><FONT size=2>.Window.Eval(</FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>"document.getElementById('"</FONT></FONT><FONT size=2> + id + </FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>"').Content.Player"</FONT></FONT><FONT size=2> + instance);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list.Add(that);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>return</FONT></FONT><FONT size=2> list;<BR>}</FONT></P><FONT size=2><FONT size=2>
<P>[</FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>ScriptableMember</FONT></FONT><FONT size=2>]<BR></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>public</FONT></FONT><FONT size=2> </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>void</FONT></FONT><FONT size=2> Pause()<BR>{<BR>&nbsp;&nbsp;&nbsp; playerMediaElement.Pause();<BR></FONT><FONT size=2>}</P></FONT><FONT size=2>
<P></FONT><FONT color=#008000 size=2><FONT color=#008000 size=2>// Usage - Pause all the players on the page (not including us)<BR></FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>foreach</FONT></FONT><FONT size=2> (</FONT><FONT color=#2b91af size=2><FONT color=#2b91af size=2>ScriptObject</FONT></FONT><FONT size=2> that </FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>in</FONT></FONT><FONT size=2> GetPlayers(</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>false</FONT></FONT><FONT size=2>))<BR>{<BR>&nbsp;&nbsp;&nbsp; that.Invoke(</FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>"Pause"</FONT></FONT><FONT size=2>);<BR></FONT><FONT size=2>}</P>
<P>Cheers,<BR>Paul</P>
<P mce_keep="true">&nbsp;</P></FONT></FONT></FONT></FONT></FONT>]]></content:encoded>
    </item>
    <item>
      <title>Silverlight 2 Beta 2 ClientAccessPolicy.xml</title>
      <link>https://docs.microsoft.com/archive/blogs/ptallett/silverlight-2-beta-2-clientaccesspolicy-xml</link>
      <pubDate>Sat, 07 Jun 2008 07:40:00 GMT</pubDate>
      <dc:creator><![CDATA[ptallett]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ptallett/2008/06/07/silverlight-2-beta-2-clientaccesspolicy-xml/</guid>
      <description><![CDATA[Thanks to Simon Middlemiss, you need a new ClientAccessPolicy.xml file with Silverlight 2 Beta 2 if...]]></description>
      <content:encoded><![CDATA[<P>Thanks to Simon Middlemiss, you need a new ClientAccessPolicy.xml file with Silverlight 2 Beta 2 if you are going to access web services. Also your URL MUST not contain underscores (eg MyApp_Web was the default for Beta 1). Just rename your website in your project file.</P>
<P><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&lt;?</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>xml</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2> </FONT></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000 size=2>version</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>=</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>1.0</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2> </FONT></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000 size=2>encoding</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>=</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>utf-8</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>?&gt;<BR>&lt;</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>access-policy</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>cross-domain-access</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>policy</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&lt;</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>allow-from</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2> </FONT></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000 size=2>http-request-headers</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>=</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>*</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>domain</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2> </FONT></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000 size=2>uri</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>=</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>*</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>allow-from</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&gt;<BR></FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>grant-to</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>resource</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2> </FONT></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000 size=2>path</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>=</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>/</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2> </FONT></FONT><FONT color=#ff0000 size=2><FONT color=#ff0000 size=2>include-subpaths</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>=</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>true</FONT></FONT><FONT size=2>"</FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>grant-to</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&lt;/</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>policy</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&lt;/</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>cross-domain-access</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&gt;<BR>&lt;/</FONT></FONT><FONT color=#a31515 size=2><FONT color=#a31515 size=2>access-policy</FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2>&gt;<BR></FONT></FONT></P>
<P><FONT color=#0000ff size=2><FONT color=#0000ff size=2>Cheers,<BR>Paul<BR></FONT></FONT><FONT color=#0000ff size=2><FONT color=#0000ff size=2></P></FONT></FONT>]]></content:encoded>
    </item>
    <item>
      <title>XBox 360 How to tell 65 nanometer (falcon) from older boxes</title>
      <link>https://docs.microsoft.com/archive/blogs/ptallett/xbox-360-how-to-tell-65-nanometer-falcon-from-older-boxes</link>
      <pubDate>Sun, 16 Mar 2008 12:52:00 GMT</pubDate>
      <dc:creator><![CDATA[ptallett]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ptallett/2008/03/16/xbox-360-how-to-tell-65-nanometer-falcon-from-older-boxes/</guid>
      <description><![CDATA[I just bought a new XBox 360 Premium yesterday (15-March-2008) and when I got it home I thought I'd...]]></description>
      <content:encoded><![CDATA[<P>I just bought a new XBox 360 Premium yesterday (15-March-2008) and when I got it home I thought I'd make sure I had the newer Falcon 65 nanometer technology unit. I found an article which said shine a flashlight into the bottom and if you can see a copper heat pipe you have the old one, and it turned out I did! My box had a manufacturing date of 2006 so I was pretty miffed and took it back to the shop (Comet) and complained about them selling two year old stock. To their credit, they took it back even though I had opened it and they swapped it for the newer model. The cardboard box has a little flap in it so you can see the manufacturing date, and you want later than 9/2007, but an even easier way to see is on the outside of the box it says HDMI (yes even for the premium), and the power rating is 175 watt instead of 208 watt for the older model. This is also displayed on a sticker on the outside of the box.</P>
<P>Why should you care? Well the new one uses less power, is noticebly quieter and has the HDMI port off the Elite, which even if you don't need it, is going to make it easier to sell on eBay when you come to get rid.</P>
<P>Cheers,<BR>Paul<BR></P>]]></content:encoded>
    </item>
    <item>
      <title>Parrot Bluetooth Sound System Speakers</title>
      <link>https://docs.microsoft.com/archive/blogs/ptallett/parrot-bluetooth-sound-system-speakers</link>
      <pubDate>Sat, 08 Dec 2007 08:24:00 GMT</pubDate>
      <dc:creator><![CDATA[ptallett]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ptallett/2007/12/08/parrot-bluetooth-sound-system-speakers/</guid>
      <description><![CDATA[I recently bought a Parrot Bluetooth Sound System which is a pair of speakers with their own...]]></description>
      <content:encoded><![CDATA[<P>I recently bought a Parrot Bluetooth Sound System which is a pair of speakers with their own amplifiers, connected to the PC with Bluetooth.</P>
<P>&nbsp;<A href="https://www.parrot.com/usa/products/parrotsoundsystem">https://www.parrot.com/usa/products/parrotsoundsystem</A></P>
<P>There don't seem to be many reviews about this product on the net&nbsp;so I thought I'd blog about it.</P>
<P>They are pretty pricey in my opinion - £249, but I couldn't find a comparable competing device so I went for it. After unpacking them I really struggled to get them to pair with my PC. The manual is really poor and basically just says follow the on-screen instructions. They would appear to pair, but then when I went back into "Bluetooth Devices" they had disappeared. I had Vista so thought this might be an issue and I was using my own Bluetooth dongle, so after two weeks on and off of trying, I bought a Parrot Bluetooth Dongle. This made no difference at all. Eventually after trying to pair the speakers with my phone, I realised you need to use the passcode "0000" to pair with the computer too, and suddenly I was in business.</P>
<P>Sound quality was not bad, but not up to hi-fi standards - more bass than PC speakers, but sounds like its playing through a cardboard tube. Just about acceptable. I was using them to connect to a Windows Media Center which is our main TV, so watching TV I discovered the first problem - the sound is delayed slightly which gives lipsync problems when watching video. This was pretty unbearable, so I decided I'd only use them for listening to music (the built-in speakers in my MCE are fine for TV). It was then that I discovered the second problem - after a few minutes listening, the left and right speaker get out of sync giving a sort of echo effect. I tried swapping the speakers left and right but that made it worse. This happened consistently all the time I was using them over the next week. The third problem is that you need to reconnect the speakers every time you boot the PC which is pretty terrible for a supposedly consumer device like MCE.</P>
<P>So I sent them back and got a refund. I regard this product to be seriously flawed, and recommend you don't buy it. To be fair, I think they are intended to be connected to a phone, but I still think you'd get the echo effect.</P>
<P>Cheers,<BR>Paul<BR></P>]]></content:encoded>
    </item>
    <item>
      <title>Silverlight production site T5M goes live!</title>
      <link>https://docs.microsoft.com/archive/blogs/ptallett/silverlight-production-site-t5m-goes-live</link>
      <pubDate>Sat, 08 Dec 2007 08:17:00 GMT</pubDate>
      <dc:creator><![CDATA[ptallett]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ptallett/2007/12/08/silverlight-production-site-t5m-goes-live/</guid>
      <description><![CDATA[Our team has been busy building a new website www.t5m.com that went live last week!
I think it is...]]></description>
      <content:encoded><![CDATA[<P>Our team has been busy building a new website <A href="https://www.t5m.com/">www.t5m.com</A> that went live last week!</P>
<P>I think it is pretty cool, using Silverlight 1.0 and about 4000 lines of Javascript plus lots of ASP.NET and Ajax. Its a video magazine that posts interview snippets with celebreties like James Blunt and Natalie Imbruglia. We've used Silverlight to build a "Galactic Browser" that allows you to get "pleasurably lost" in the collection of videos.</P>
<P>&nbsp;Cheers,<BR>Paul</P>
<P mce_keep="true">&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>This copy of Windows must be activated with Microsoft before you can proceed</title>
      <link>https://docs.microsoft.com/archive/blogs/ptallett/this-copy-of-windows-must-be-activated-with-microsoft-before-you-can-proceed</link>
      <pubDate>Sat, 27 Jan 2007 11:48:00 GMT</pubDate>
      <dc:creator><![CDATA[ptallett]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ptallett/2007/01/27/this-copy-of-windows-must-be-activated-with-microsoft-before-you-can-proceed/</guid>
      <description><![CDATA[There seems to be a bug in Windows Server 2003 R2 that if you try to&nbsp;repair your system after...]]></description>
      <content:encoded><![CDATA[<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">There seems to be a bug in Windows Server 2003 R2 that if you try to&nbsp;repair your system after hardware changes&nbsp;you get the error message "This copy of Windows must be activated with Microsoft before you can proceed" when you try and login, but when you try and activate, Windows just logs you off.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;This seems to be caused by having IE7 installed, if you look in the error log you will see that msoobe.exe has crashed:<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;Reporting queued error: faulting application msoobe.exe, version 5.2.3790.0, faulting module urlmon.dll, version 6.0.3790.2612, fault address 0x0000618c.<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Fault bucket 338988625.<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I got around this by repairing with a Windows 2003 Enterprise Edition SP1 disk (not R2).<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">You may be able to get round this by uninstalling IE7.<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Cheers,<BR>Paul<o:p></o:p></SPAN></P>]]></content:encoded>
    </item>
    <item>
      <title>Ultimate Vista Laptop/Ultimate WPF Laptop</title>
      <link>https://docs.microsoft.com/archive/blogs/ptallett/ultimate-vista-laptopultimate-wpf-laptop</link>
      <pubDate>Wed, 24 Jan 2007 03:55:00 GMT</pubDate>
      <dc:creator><![CDATA[ptallett]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ptallett/2007/01/24/ultimate-vista-laptopultimate-wpf-laptop/</guid>
      <description><![CDATA[Hi!
Only 6 months between blog posts! Sorry, I've been pretty maxxed.
I've been hunting around for...]]></description>
      <content:encoded><![CDATA[<P>Hi!</P>
<P>Only 6 months between blog posts! Sorry, I've been pretty maxxed.</P>
<P>I've been hunting around for the utlimate laptop to run WPF applications on Vista. We have produced some pretty heavy WPF demos in the UK that make a lot of use of WPF 3D, for example the British Library&nbsp;application being used in the Vista launch. These are fine on your average desktop machine, but almost every laptop I've tried falls short. Most laptops have an on board graphics chip and the Vista drivers for laptops seem to be a bit buggy especially when playing video morphed onto 3D surfaces.</P>
<P>So about a year ago I started the hunt for a laptop with a good graphics card that was sufficiently mainstream that the Vista drivers would handle all the advanced WPFness we throw at them. Well I think the search is over. The HP nc8430 is the only laptop I've seen from a mainstream vendor to sport the ATI X1600 graphics card. The Vista drivers for this are rock solid and reports are that this is the ultimate laptop for developing WPF applications.</P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><A title=https://h10010.www1.hp.com/wwpc/uk/en/sm/WF25a/21675-283229-283229-283229-12434682-12397664.html href="https://h10010.www1.hp.com/wwpc/uk/en/sm/WF25a/21675-283229-283229-283229-12434682-12397664.html">https://h10010.www1.hp.com/wwpc/uk/en/sm/WF25a/21675-283229-283229-283229-12434682-12397664.html</A></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Cheers,<BR>Paul</SPAN></P>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft Da Vinci Code</title>
      <link>https://docs.microsoft.com/archive/blogs/ptallett/microsoft-da-vinci-code</link>
      <pubDate>Sat, 17 Jun 2006 04:04:00 GMT</pubDate>
      <dc:creator><![CDATA[ptallett]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ptallett/2006/06/17/microsoft-da-vinci-code/</guid>
      <description><![CDATA[Recently had this very funny Microsoft take on the Da Vinci code forwarded to me. It is quite long...]]></description>
      <content:encoded><![CDATA[<P><FONT face=Arial size=2>Recently had this very funny Microsoft take on the Da Vinci code forwarded to me. It is quite long but very funny.</FONT></P>
<P><A title=https://www.proudlyserving.com/archives/2006/06/the_microsoft_c_6.html href="https://www.proudlyserving.com/archives/2006/06/the_microsoft_c_6.html"><FONT face=Arial size=2>https://www.proudlyserving.com/archives/2006/06/the_microsoft_c_6.html</FONT></A></P>
<P><FONT face=Arial size=2>No I don't know anything about 8/2110!</FONT></P>
<P><FONT face=Arial size=2>Cheers,</FONT></P>
<P><FONT face=Arial size=2>Paul</FONT></P>
<P>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Insufficient System Resources to complete the requested API</title>
      <link>https://docs.microsoft.com/archive/blogs/ptallett/insufficient-system-resources-to-complete-the-requested-api</link>
      <pubDate>Thu, 18 May 2006 08:18:00 GMT</pubDate>
      <dc:creator><![CDATA[ptallett]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ptallett/2006/05/18/insufficient-system-resources-to-complete-the-requested-api/</guid>
      <description><![CDATA[If you get this error when you try and hibernate your laptop, chances are you have 2GB of RAM or...]]></description>
      <content:encoded><![CDATA[<P>If you get this error when you try and hibernate your laptop, chances are you have 2GB of RAM or more and you've hit a Windows bug. Try searching for the following hotfix and installing it.</P>
<P>WindowsXP-KB909095-x86-ENU.exe<BR></P>]]></content:encoded>
    </item>
    <item>
      <title>Printing in WPF (XPS)</title>
      <link>https://docs.microsoft.com/archive/blogs/ptallett/printing-in-wpf-xps</link>
      <pubDate>Thu, 11 May 2006 16:03:00 GMT</pubDate>
      <dc:creator><![CDATA[ptallett]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ptallett/2006/05/11/printing-in-wpf-xps/</guid>
      <description><![CDATA[I wanted to print a visual out to an XPS file on a recent project, and couldn't find the code to do...]]></description>
      <content:encoded><![CDATA[<P><FONT face=Arial size=2>I wanted to print a visual out to an XPS file on a recent project, and couldn't find the code to do it. Anyway I eventually found it so I thought I'd post it. You need references to ReachFramework and System.Printing.</FONT></P><FONT face=Arial><FONT size=2><FONT color=#0000ff>using</FONT> System.Windows.Xps.Packaging;<BR><FONT color=#0000ff>using</FONT> System.Windows.Xps;<BR><FONT color=#008080>Package</FONT> pckg = <FONT color=#008080>Package</FONT>.Open(<FONT color=#800000>@"c:\x.xps"</FONT>, <FONT color=#008080>FileMode</FONT></FONT></FONT><FONT face=Arial><FONT size=2>.Create); <BR><FONT color=#008080>XpsDocument</FONT> xpsDoc = <FONT color=#0000ff>new</FONT> <FONT color=#008080>XpsDocument</FONT></FONT></FONT><FONT face=Arial><FONT size=2>(pckg);<BR><FONT color=#008080>XpsDocumentWriter</FONT> xpsWriter = <FONT color=#008080>XpsDocument</FONT></FONT></FONT><FONT face=Arial size=2>.CreateXpsDocumentWriter(xpsDoc);<BR>xpsWriter.Write(visual</FONT><FONT face=Arial size=2>);<BR>xpsDoc.Close();<BR>pckg.Close();<BR></FONT>]]></content:encoded>
    </item>
  </channel>
</rss>