Error Message: Autofill Labels

Nov 30, 2010 at 6:48 AM

I'm trying to add labels via autofill to my vertexes using the Kite Network Data. I added two columns for age and parties (just going with the tutorial here), enable the labels and and click on autofill. Now I choose "Vertex" as Label and "Party" as label colours. I have nothing else assigned to the Vertex e.g. no size, no shape.

I always get this error message:

---------------------------
Microsoft NodeXL
---------------------------
An unexpected problem occurred.  If it occurs again, please copy the details to the clipboard by typing Ctrl-C, then post the details to http://www.codeplex.com/NodeXL/Thread/List.aspx.



Details:



[ExternalException]: Der angeforderte Clipboard-Vorgang war nicht erfolgreich.



   bei System.Windows.Forms.Clipboard.ThrowIfFailed(Int32 hr)

   bei System.Windows.Forms.Clipboard.GetDataObject(Int32 retryTimes, Int32 retryDelay)

   bei System.Windows.Forms.Clipboard.GetDataObject()

   bei System.Windows.Forms.Clipboard.ContainsText(TextDataFormat format)

   bei System.Windows.Forms.Clipboard.ContainsText()

   bei Microsoft.NodeXL.ExcelTemplate.TableColumnMapper.MapViaCopy(ListObject table, String sourceColumnName, String destinationColumnName)

   bei Microsoft.NodeXL.ExcelTemplate.WorkbookAutoFiller.AutoFillColumnViaCopy(ListObject oTable, String sSourceColumnName, String sDestinationColumnName)

   bei Microsoft.NodeXL.ExcelTemplate.WorkbookAutoFiller.AutoFillVertexTable(ListObject oVertexTable, AutoFillUserSettings oAutoFillUserSettings, AutoFillWorkbookResults oAutoFillWorkbookResults)

   bei Microsoft.NodeXL.ExcelTemplate.WorkbookAutoFiller.AutoFillWorkbookInternal(Workbook oWorkbook, AutoFillUserSettings oAutoFillUserSettings)

   bei Microsoft.NodeXL.ExcelTemplate.WorkbookAutoFiller.AutoFillWorkbook(Workbook workbook, AutoFillUserSettings autoFillUserSettings)

   bei Microsoft.NodeXL.ExcelTemplate.AutoFillWorkbookDialog.btnAutoFill_Click(Object sender, EventArgs e)
---------------------------
OK   
---------------------------

I have copied the vertex names to labels and the graph displays the names without any problems, same for colours.

I'm using Win7/Excel 2010 (German Version) with the latest updates.

NodeXL Version 1.0.1.156

 

Hope you can fix it (or help me) ;)

Christian

Dec 2, 2010 at 3:30 PM

Christian:

I am unable to get this problem to occur on my computer.  However, in searching various programmer forums for the error message you are getting (in English: "Requested Clipboard operation did not succeed"), I found that this apparently random problem can occur when other applications are simultaneously attempting to use the Windows clipboard.  (Internally, NodeXL uses the clipboard for some Autofill tasks.)  I also found a suggested workaround for the problem that programmers can use, but before I try that workaround in the next release of NodeXL, is it possible for you to try the same Autofill operation with all other applications closed, and then let me know the results?

Thanks,
    Tony

Dec 3, 2010 at 1:53 AM

Hi Tony,

thanks for the reply. I closed all applications and it worked fine. However I tried to reproduce the error and it seems that it only occurs while Firefox (3.6.12) is running.

Thanks again. Great software!

Christian.

Apr 20, 2011 at 4:57 AM

Hi Tony,

I'm not a user of your software, but I am a fellow developer having problems accessing the clipboard while Firefox is running.

Perhaps this isn't the ideal place to ask, but could you perhaps share the workaround you mention?

Cheers,

Aidan

Apr 20, 2011 at 5:24 AM
Edited Apr 20, 2011 at 5:26 AM

Aidan:

I'm afraid I never could get the clipboard to work reliably in our application, which is Excel-based and which told Excel to write some workbook contents to the clipboard.  I don't know what Firefox is doing, but I couldn't figure out how to work around the problems it causes.  My solution was to eliminate our application's use of the clipboard entirely, thus bypassing the problem.  It wasn't an ideal solution, because the replacement code I wrote runs more slowly than the original clipboard code did, but the replacement code is reliable and I no longer have to deal with Firefox.

I don't know how your application interacts with the clipboard or what language you're using, but if you're a .NET programmer, you might take a look at the System.Windows.Forms.Clipboard.SetDataObject() overload that attempts to place data on the clipboard and retries on failure.  I would have tried that, but it was Excel, not my own code, that was attempting (and failing) to put data on the clipboard.  You might also look at the following post, which suggests manually checking whether another application has the clipboard open and waiting if so:

http://stackoverflow.com/questions/930219/how-to-handle-blocked-clipboard-and-other-oddities

Sorry I can't be of more help.

-- Tony

 

 

 

Apr 20, 2011 at 10:46 PM
Edited Apr 20, 2011 at 10:46 PM

Ah, thanks heaps Tony, that's a real help. It's a shame you had to completely change the way you were doing things because of a shortcoming of the os...  :(

Re: the SetDataObject function, in .NET it seems there is no overload as there is in C++, where you get to set the number and frequency of retries. But the default behaviour is to retry 10 times, every 100ms, which seems reasonable to me. Oddly, this still fails for me pretty consistently while Firefox is running. Very odd stuff.

Windows clipboard: an enigma wrapped in a mystery, wrapped in a RCW, wrapped in a mystery.

Apr 20, 2011 at 11:03 PM

Aidan:

There is such a SetDataObject(object, bool, int, int) overload in .NET.  It's documented here:

http://msdn.microsoft.com/en-US/library/ms158293.aspx

But it sounds like that won't do any good in your case.

Yes, the clipboard can indeed be very frustrating.

-- Tony