I don;t know why you get error loading printer dirver unless there is a problem with the printer dirver you are loading. As for not printing unitl you quit that is because you have to notify windows print manager that the print job has completed. This si done automatically for you when you exit the app. If you want to do it programmatically then you simply put SET PRINTER TO without any printer name in your code. This tells the windows print manager that the print job has completed and the printing will begin.