|
So then when you put everything where it's supposed to go, does it work? I had the bin folder to seperate the two CsGL.dll files, which appear to be the same, but weren't acting the same. I'll make an installer and see what happens.
"Quality Software since 1983!" http://www.smoothjazzy.com/ - see the "Programming" section for (freeware) JazzySiteMaps, a simple application to generate .Net and Google-style sitemaps!
|
|
|
|
|
Jasmine2501 wrote: does it work?
yes. Also csgl.dll will not install to the GAC since it is not strong named but the saver works without it being in the GAC. So an installer will solve your problems since installing things into SystemRoot and System32 is totally simple.
led mike
|
|
|
|
|
Jasmine2501 wrote: does it work?
Using the "Preview" button it worked the first time and then only once in the next 20 attempts so it is not yet stable. When it does not run as "expected" there is no error and the "preview" button is disabled until i move the mouse. A potential conclusion is that the saver is actually running but is not rendering or displaying it's window.
led mike
|
|
|
|
|
This assembly does not have a strong name... I may need to make my own build of it. The installer won't let me add it to the GAC without a strong name. What bugs me though is that it should be able to be used from the same folder as the application itself. On my machine where everything is working, this file is not in the GAC. I got it working on other machines using the batch file. These were machines that I had not messed around on, so they were fresh installs on systems that had never heard of CsGL... This is all very annoying because it's a really cool screensaver, and a really good demo of C# with OpenGL, but I can't even get a screenshot, so I'm the only person who has been able to enjoy it.
I have one major issue with using the installer project. I need to rename the output file from .exe to .scr, and the installer project doesn't seem to have an option for that. I was able to get around that issue with the batch file, and a post-build event, but the installer project doesn't see the .scr file, and instead it installs it as an .exe, which runs fine but won't function as a screensaver. If you rename the file to .scr, it works as expected. I'm working on that issue, and I'll post a response here when I have the installer working correctly. The installer program is only putting down two files, both into the "windows" folder... one csgl.dll and one copy of my .exe.
I used the installer project on another application and I have some issues with it, but I couldn't find any good documentation of all the options. If you know of any good links about that, I would greatly appreciate it. Thanks for all your help!
"Quality Software since 1983!" http://www.smoothjazzy.com/ - see the "Programming" section for (freeware) JazzySiteMaps, a simple application to generate .Net and Google-style sitemaps!
|
|
|
|
|
Jasmine2501 wrote: but the installer project doesn't see the .scr file
What does that mean? You can add any file you want to an installer project. So you should be able to rename the .exe yourself and then add the .scr file to the installer project.
I don't think I ever stated this but I have my own screen saver authored as a native C++ application. It is old, let me see, 2001. I built the Windows Installer using an old MS Visual Studio 6 add in. From all apperances it is the same as the one bundled with the new VS. I renamed the file myself and then added it to the installer project.
led mike
|
|
|
|
|
OK I figured all that out. I used a post-build event to rename the file, then I pick up that file with the installer, instead of picking up the 'primary project output'. As for the issue with the thing freezing, it is possible that you have a version I put out there that had a performance issue, so it would freeze after a while and no longer notice the mouse movements. Performance was particularly bad if you had 'cubical' turned on, because I had inserted the background cube into my loop that draw the cells, so it was re-drawing the big cube hundreds of times... oops
I put up an installer file... let me know how that works. I'm getting reliable frame rates of 30-50 fps depending on settings. If you use really big numbers, it will use lots of memory, but there's no way around that really, since it does have to store data for each cell. Keep the 'size' under 300, and it should be ok.
LifeSaver Installer[^]
"Quality Software since 1983!" http://www.smoothjazzy.com/ - see the "Programming" section for (freeware) JazzySiteMaps, a simple application to generate .Net and Google-style sitemaps!
|
|
|
|
|
The installer works fine but the save still has the same erratic behavior I posted before. It runs the first time after installation. Most of the subsequent executions it does not display anything. The mouse cursor is hidden and upon mouse move it does return control back to the system as expected but there is no display of any kind. I got it work a few times after selecting other savers and running them but I cannot repeat that behavior consistently. It seems that after a time it will run again but I can't find anything consistent.
led mike
|
|
|
|
|
OK groovy
That's progress at least. I'll clean it all up a bit and see if maybe there's some non-destructed objects or something, then I'll post another installer later. Again, thanks very much for your help with this!
"Quality Software since 1983!" http://www.smoothjazzy.com/ - see the "Programming" section for (freeware) JazzySiteMaps, a simple application to generate .Net and Google-style sitemaps!
|
|
|
|
|
Well, I updated everything to be very clean, and I created a permanent page for this with links for the installers. Try the new version and let me know if you think I can unleash it on the public. I want to write that article...
http://www.smoothjazzy.com/prog_screensaver.htm[^]
"Quality Software since 1983!" http://www.smoothjazzy.com/ - see the "Programming" section for (freeware) JazzySiteMaps, a simple application to generate .Net and Google-style sitemaps!
|
|
|
|
|
Same behavior but I noticed another piece of information that might help. There is a maximized frame renedered but nothing rendering in the client area not even a background. So you see everything that was already there.
led mike
|
|
|
|
|
I have no idea what's causing that. I guess maybe I'll start another thread about that. Thanks for your help!
"Quality Software since 1983!" http://www.smoothjazzy.com/ - see the "Programming" section for (freeware) JazzySiteMaps, a simple application to generate .Net and Google-style sitemaps!
|
|
|
|
|
Just in case your not watching anymore, I posted a question in this forum about the rendering problem. I am using a new library now, and it worked first try on my office machine. Give it a whirly and let me know what happens.
"Quality Software since 1983!" http://www.smoothjazzy.com/ - see the "Programming" section for (freeware) JazzySiteMaps, a simple application to generate .Net and Google-style sitemaps!
|
|
|
|
|
Jasmine2501 wrote: Just in case your not watching anymore
Well not so much "not watching" as "left work to go have fun!"
Jasmine2501 wrote: Give it a whirly and let me know what happens.
That did it, works every time now. Now I need to go find that other thread to see what the problem was. CYA
led mike
|
|
|
|
|
Jasmine2501 wrote: I am using a new library now
So the new library solved the problem I guess. I am not a big fan of third party library use. I use them rarely and opt for roll your own in most cases. Years ago the concept of "don't reinvent the wheel" had a very different manifestation than it does today. All you have to do is frequent the development forums here to see that the quality of developers in general is ... well.... appalling. I figure if I am going to have lousy code in my product, it's going to be "my" lousy code.
led mike
|
|
|
|
|
When I don't understand what something is doing then I'm prone to code it myself, but if it's just something I would do anyway, then I'd rather not code it myself. This just gives me hooks into the OpenGL APIs, so I still get to do all the normal fun stuff. I'm working on the article about this, but I'm trying to make it not too long. I added the ability to load files, because some people have published some really groovy starting patterns on the web. I'll put that up on my page with the article.
"Quality Software since 1983!" http://www.smoothjazzy.com/ - see the "Programming" section for (freeware) JazzySiteMaps, a simple application to generate .Net and Google-style sitemaps!
|
|
|
|
|
|
I think your primary thread is exiting before your worker thread has a chance to execute anything.
The MSDN sample code for EndAcceptSocket has this code after the call to BeginAcceptSocket in your BeginAcceptSocket() call.
clientConnected.WaitOne();
If that doesn't do what you need it to, then you can add some other blocking call to wait for a signal to exit your application.
I can imagine the sinking feeling one would have after ordering my book,
only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon
|
|
|
|
|
|
I'm pretty sure the problem is that ClientConnected is running on a separate thread already. You can verify this by checking the thread id in ClientConnected and before you call BeginAcceptSocket. I suspect what is happening is that your main application thread which is blocking on the BeginAcceptSocket call is waking up when the EndAcceptSocket call is made. Since there is no more code for it to execute it exits. When your main thread exits it shuts down all threads which doesn't give the thread running ClientConnected a chance to finish.
Using the GridView is like trying to explain to someone else how to move a third person's hands in order to tie your shoelaces for you.
-Chris Maunder
|
|
|
|
|
|
Using vs2005, from the data explorer window, I can add a new connection and bring my data in. Using the datagrid view, I can attach a table to view my data.
I can also use sql statement to view the data table to the grid. Although I haven't tried both of them on the same application. It looks like it is fater to display the data to the grid from the data explorer than using sql statement.
What I mean, I mean that an application that use the database explorer to bring data in should be faster than one that use sql statement.
I tried both of them in different application, I have seen that it always take more time for the sql statement to run than fill the grid. The way I look at it, by using the databse explorer, when the application is loaded or run, the connection and the data tables are also initializeed. Therefore, it is faster, which is opposed to runing sql statement. When I use sql statement here, I mean I mean something like oledbconnection.
Let me know if I am right.
|
|
|
|
|
Try do not to use OleDBConnection, use the respective "professional" data connection. eg. for MS Sql Server, use SqlConnection, while for Oracle, use OracleDataConnection.
yes, the connection built by data explorer seems to be faster than the manual built one. but it's just because the former will be initiallezed at the very begining of the application start. for the latter, if you try more times, you will find it has the same speed with the former one; and, it's more flexible
A Positive Thinker
|
|
|
|
|
What is the difference between oledbconnection and sqlconnection? I have been using oledbconnection. I have seen a lot of people using oledbconnection. I am using ms accesss just for testing, that will change later when I get sql express working. Can I use sql connection for ms access database?
|
|
|
|
|
Hi All
How can i find the first three characters of a string ??
thanks
Simon
|
|
|
|
|
si_69 wrote: How can i find the first three characters of a string ??
Doh !
string result = t.Substring(0, 3);
|
|
|
|