How To Fix Archives - Page 12 of 12 - Digital Tool Factory blog How To Fix Archives - Page 12 of 12 - Digital Tool Factory blog

The Digital Tool Factory Blog

How to fix Quickbooks 2010 printing problem on 64 Bit Windows, (Error Code -30)

I intended the focus of the “How To Fix” posts to be Silverlight, but as I’ve encountered other problems while setting up the business, I’m posting those. The rule I established is “If it takes more than 15 minutes to fix, it gets documented” so here we go.

The Problem: You finally get Quickbooks 2010 installed and your old data migrated, and you get the “Printer not activated, error code -30” error window when sending an invoice, pictured below.

and

If you Google the error messages you will see that there are many, many reasons this error can occur.

The Cause: In my case, this was due to running Vista Ultimate 64 Bit. I assume it is the same on Windows 7 64 Bit or Vista Business 64 Bit. The cause is the pdf driver for Quickbooks not working with 64 bit Windows.

The Solution: You go to this QuickBooks help page and change a large number of properties. Why? Who knows, but that solved the problem for me. Intuit did not include any warnings about 32 vs 64 bit differences in their program, to their shame.

 

This post originally appeared on the Stronico blog – with the absorption of Stronico into Digital Tool Factory this post has been moved to the Digital Tool Factory blog


03
Dec 09


Written By Steve French

 

How to migrate a user profile in Vista

In a previous post I detailed the simple procedure of leaving a domain and joining a workgroup in Vista. The catch is…

The Problem: When you leave the domain, the user profile is basically destroyed and a crippled version is put in it’s place. Very little documentation exists on how to prevent this, and the market has not supplied many programs to help either. Copying files and folders did not work for me. I tried both Windows Easy Transfer and the User State Migration Tool from Microsoft, to no avail. Curiously, none of my knowledgeable tech friends knew of an easy way to do this.

The Cause: As near as I can tell – there is little software market for downgrading your network, or providing documentation. Happily there is at least one company that will step up.

The Solution: Download the User Profile Wizard from Forensit. (It took me much time to find it). Make backups of everything, then run the Wizard. You will probably have to create a new login to use, but the profile will be pristine once it’s transfered over.

I imagine this would not be much of a problem for someone more knowledgeable, but for me it was quite vexing.

Okay, hopefully the next blog posts will be all about startsups and Silverlight.

 

This post originally appeared on the Stronico blog – with the absorption of Stronico into Digital Tool Factory this post has been moved to the Digital Tool Factory blog


15
Nov 09


Written By Steve French

 

How to leave a domain and join a workgroup in Vista

This is another one of those non-Silverlight problems, but since it created such a massive time sink I thought I would blog about it.

The Problem: You want to leave a domain for whatever reason (in my case, I wasn’t using the server for anything) and join a workgroup.

The Cause: The solution at first seems simple and easy – just right click on “My Computer”, go to Advanced, go to the “Computer Name” tab, and click on the “Change” button to join the workgroup. But that is too easy.

While the above method will work, your current user will lose all of the settings, even those which do not involved the server or domain in any way.

The Solution: The domain profile must be migrated to the workstation before the workstation leaves the domain – (I will write another post about that). This does not happen automatically or easily.

I’m not sure if this is a legitimately difficult problem, but it did take me some time to research, so I thought I would preserve it for internet posterity. I do not count computer networking as my strong suit.

 

This post originally appeared on the Stronico blog – with the absorption of Stronico into Digital Tool Factory this post has been moved to the Digital Tool Factory blog


15
Nov 09


Written By Steve French

 

How to fix Blogger page title problems

I was perusing my Google Analytics reports and did some checking on came across some sub optimal page structure.

The Problem: Blogger (my blogging platform of choice) sets page titles in reverse. More specifically Blogger will set the title of a post as “Stronico Contact Management – How to fix browser size problem in Silverlight” – which is not as SEO friendly as what I thought it did, which would be “How to fix browser size problem in Silverlight – Stronico”. The former has more words, and quite repetitive.

The Cause: Blogger is just set up that way

The Solution: I did some Google work and came across this post on SEO Book (Thanks!) Basically Blogger has a set of server tags it uses when publishing a blog to an outside server. For whatever reason Blogger sets the page title in an odd order. To fix the problem add in this code in the header section of the Blogger Template

<MainPage>
<title>Stronico Blog – Visual Contact Management</title>
</MainPage>
<Blogger>
<ArchivePage>
<title>Archive of the Stronico Blog</title>
</ArchivePage>
<ItemPage>
<BlogItemTitle><title><$BlogItemTitle$> : Stronico</title></BlogItemTitle></ItemPage>
</Blogger>

That will do it! Thank you SEO Book!

 

This post originally appeared on the Stronico blog – with the absorption of Stronico into Digital Tool Factory this post has been moved to the Digital Tool Factory blog


09
Nov 09


Written By Steve French

 

How to fix customer service problems with T-Mobile

I’m not sure that this really qualifies as a technical problem, but it was a problem I had.

The Problem: Any one of the many you are likely to have with T-Mobile -in my case it was a non-working phone, and no good options of upgrading.

The Cause: T-Mobile customer service sucks.

The Solution: Insist on speaking to the “Customer Loyalty” department. This is where they send you after you threaten to leave them for someone else. I found it useful to state that I had an excel spreadsheet listing deals from various providers and that T-Mobile came out the worst. Curiously, no one asks for numbers if you tell them you have a spreadsheet. They will eventually cave, albeit not by that much in my case.

 

This post originally appeared on the Stronico blog – with the absorption of Stronico into Digital Tool Factory this post has been moved to the Digital Tool Factory blog


04
Nov 09


Written By Steve French

 

How to fix dropdown boxes in asp.net datagrids

OK, this problem isn’t silverlight, but I did encounter it in my day job. In fact, I’ve encountered it several times, so I thought I would write it up so I can find it again.

The Problem: You write a web page that contains an updatable datagrid, which, when in EditMode, contains a dropdown list containing lookup items. The DropdownBox does not populate, and (later when you get it working) the proper listitem is not selected.

The Cause: Since the DropDownBox down not existing when the page loads, there is nothing to bind.

The Solution: You have to attach your events to some non-standard page events to get it to work. The relevant part of the .aspx page is below (put this in your datagrid)

<asp:TemplateColumn HeaderText=”Tactic Category”>
<HeaderStyle Font-Size=”Large” Font-Bold=”true” />
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,”TacticCatName”)%>
</ItemTemplate>
<EditItemTemplate>
<%–Notice the GetCat() routine here as the datasource.–%>
<asp:DropDownList id=”ddTacticCatList” runat=”server” DataSource=”<%# GetCat() %>” DataTextField=”TacticCatName” DataValueField=”TacticCatID”>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>

Your code-behind page should look like this (in C#)
private void MainCode()
{
string strID = Request.QueryString[“id”].ToString();
//custom code to get the relevant dataset for the entire datgrid
DataSet ds = LMR.TacticSubCatList(strID);
//custom code to bind to the datagrid
Utility.DGDSNullCheck(ds, dgTacticSubCatList, lblTacticSubCatList, “There are no tactic subcategories in the database at this time.”);
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
MainCode();
}
}

protected void dgTacticSubCatList_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//grab the index
dgTacticSubCatList.EditItemIndex = e.Item.ItemIndex;
MainCode();
}

protected void dgTacticSubCatList_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//get the id value of the selected datagrid item
int intTacticSubCatID = (int)dgTacticSubCatList.DataKeys[(int)e.Item.ItemIndex];

//this gets our textbox, also in the datagrid
TextBox EditText = null;
EditText=(TextBox)e.Item.FindControl(“tbTacticSubCatName”);
string strEditText = Convert.ToString(EditText.Text);

//get the value of our dropdown list
DropDownList dd = (DropDownList)e.Item.FindControl(“ddTacticCatList”);
string strTacticCatID = dd.SelectedValue.ToString();
//do our database update
LMR.TacticSubCatEdit(intTacticSubCatID.ToString(),strTacticCatID,strEditText);
//reset the datagrid
dgTacticSubCatList.EditItemIndex = -1;
//give feedback and rebind
lblFeedback.Text = “Your changes have been applied.”;
MainCode();
}

protected void dgTacticSubCatList_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dgTacticSubCatList.EditItemIndex = -1;
MainCode();
}
protected DataTable GetCat()
{
//here is where we get the dataset to populate the dropdown list – it does have to go in an independant function
DataSet ds = LMR.TacticCatList();
return ds.Tables[0];
}

protected void dgTacticSubCatList_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.EditItem)
{
//we set the selcted index in the ItemDataBound event
string strID = Request.QueryString[“id”].ToString();
string strSubCatID = dgTacticSubCatList.DataKeys[(int)e.Item.ItemIndex].ToString();
Holder.TacticSubCat tsc = LMR.GetTacticSubCat(strSubCatID);
DropDownList dd = (DropDownList)e.Item.FindControl(“ddTacticCatList”);
dd.SelectedIndex =dd.Items.IndexOf(dd.Items.FindByValue(strID));
}
}

That’s all there is to it. The tricky parts are putting the initial dropdown population in a separate function, and setting the index in the ItemDataBound event.

 

This post originally appeared on the Stronico blog – with the absorption of Stronico into Digital Tool Factory this post has been moved to the Digital Tool Factory blog


31
Oct 09


Written By Steve French

 

How to fix margins in silverlight

The Problem: You try to set margins the same way in xaml as in xhtml/css.

The Cause:
The margin property in xaml is different than the margin in xhtml/css

The Solution:
Use this bit of info: the margins in xaml go left,top,right,bottom, or clockwise from 9:00.

This was hardly the most significant problem I had with the new app, but it did take me a little while to figure out, so I thought I would blog it in case someone else had the same problem.

 

This post originally appeared on the Stronico blog – with the absorption of Stronico into Digital Tool Factory this post has been moved to the Digital Tool Factory blog


25
Oct 09


Written By Steve French

 

How to fix “Value does not fall within the expected range” error in Silverlight

The Problem: Your code goes about it’s merry way, adding children to parents and so forth when you get the error

Value does not fall within the expected range

The Cause: The problem is caused by two objects having the same name in the same parent. If your canvas has two StackPanels named “spOverlap” then this error is thrown. Why the error message couldn’t just say “Duplicate Name Error” no one knows. I’ve encountered this error when dynamically adding controls to the application.

The Solution (Part 1): The simple way to fix it is to simply name the newly added control with a guid or a ID number of some sort.

The Cause (Part 2): I did in fact do that, and then encountered another error, namely that things were expanding exponentially.

Here’s the situation. I have a main control (call it StronScreen), which will spawn a child control (call it StronTab), which has an event (call it StronEntityAdd) that will add a control (call it StronEntity) to StronScreen. I was adding the event to StronTab every time I spawned it, which meant that there were multiple events attached to StronTab as the user went through the application. It worked fine the first time, by which I mean that it added a single instance of StronEntity to StronScreen. The next time I spawned StronTab (this is a necessary and desirable feature of the application) and call StronEntityAdd TWO instances of StronEntity would be added to StronScreen.

The Solution (Part 2): Create the event handler as null when the page is loaded, and when StronTab is called, check to see if the event is null, and if it is, add it to StronTab. If the event handler is not null, then simply don’t add it.

A hard problem to diagnose, and the application does have to work that way, but that fixes it.

 

This post originally appeared on the Stronico blog – with the absorption of Stronico into Digital Tool Factory this post has been moved to the Digital Tool Factory blog


24
Oct 09


Written By Steve French

 

How to solve Unhandled Error in Silverlight Application Code: 2104

I’ve found that I get this error every time I upload a Silverlight application to a new webserver. IIS does not have the correct settings by default.

The Problem: You ftp a Silverlight App to an IIS website, go to the website in a browser, and get the following error:

Message: Unhandled Error in Silverlight Application
Code: 2104
Category: InitializeError
Message: Could not download the Silverlight application. Check web server settings

The Cause: The Silverlight Mime types (.xaml, .xap and .xbap) are not listed in that websites registered mime types, therefore IIS will not send those files to the browser.

The Solution: Open IIS on the server, go to HTTP headers, click on Mime Types, click “Add New” and add the following:

Extension – Mime Type
.xaml – application/xaml+xml
.xap – application/x-silverlight-app
.xbap – application/x-ms-xbap

Hit Apply and your application will load!

 

This post originally appeared on the Stronico blog – with the absorption of Stronico into Digital Tool Factory this post has been moved to the Digital Tool Factory blog


23
Oct 09


Written By Steve French

 




Copyright 2011 Digital Tool Factory. All Rights Reserved. Powered by raw technical talent. And in this case, WordPress.