|
I realise something now:
I allways repaint the full ellipse,
I never say "draw ellipse partially"
(I have no idea how it would be done either)
so even when only the previous area is invalidated,
the ellipse/circle would be totally redrawn.
(so the invalidation of the new area doesnt have a purpose I think)
so.. I dont have to combine both rectangles here...
hmmm.
i should try to remove the invalidate(currentarea) statement and see if that
would give an improvement
(but not today, I have to finish a report )
|
|
|
|
|
ok i removed the invalidate(currentarea) statement
(wich was not needed)
but the problem still was there
increasing the size of the area fixed the problem.
but i still believe it hasn't anything to do with the "abc problem"
because i think guffa is right about this:
Start at A:
OBC
Move from A to C, first repaint A:
ABC
Then repaint C:
ABO
The B never changes, so it doesn't have to be repainted.
if i move fast with the mouse, and i go from a to c it never reaches b,
never paints anything on location b...
so it never has to refresh the b area.
PROBLEM FOUND:
I changed the code on the mousedown method to (previously only onmousemove),
and it seems when i only invalidate the
previous area, the ellipse only gets draw partially. (very easy to notice when i click next to the clippingrectangle)
the ellipse clips to the clippingrectangle during the onpainthandler...
so previously, the redrawing was indeed unable to redraw previous and current rectangle in one "refresh cycle"
so there are 2 ways to solve this (i think):
either i have to let the FillEllipse method know it doesnt have to clip to the rectangle
(i have no idea how i could achieve this, unless i change the clippingrectangle after
drawing the background, but i don't give it a big chance)
or ill have to combine rectangles with the region stuff...
|
|
|
|
|
I have created installation setup with InstallShield. Installation works really well. When the program is uninstalling I need set some flag values on database which is located on a remote server. I am using a webservice for that. Installshield allows to execute a method in supplied assembly when uninstalling the program. So I created a class library and written the flag resetting code in a method say "ResetDBFlag() ". I have added necessary entries to installshield wizard. This class library is tested and it communicates perfectly with webservice.
When trying to uninstall, it's showing error Can not find entry point to function - Make sure you have exported the dll . I have googled, and all links says it's an issue with using DLLImport attribute. But I have no DllImport attributes specified. Anyone faced similar kind of issues ? Or do you know any alternative approach to satisfy my requirement ?
|
|
|
|
|
N a v a n e e t h wrote: DLLImport attribute
Can you export the function by using the .def file?
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Individuality is fine, as long as we do it together - F. Burns
|
|
|
|
|
Wes Aday wrote: .def file?
Cool. Thanks for the reply. I searched for .def files, but all the links are about C++ and talks about exporting C++ dll's. What would be for C# ? My dll is in C#.
|
|
|
|
|
Have you tried dumping the exports with the linker?
|
|
|
|
|
Spacix One wrote: dumping the exports with the linker?
Thanks for replying, but I am not getting your point. Can you explain it ?
|
|
|
|
|
link /dump /exports {filename} and see if what you're calling is even there
You can also use the alias dumpbin /exports {filename}
I think you need Com visible set to true to be able to see functions outside other .NET assemblies, which would include install shield. There shouldn't be a problem calling a managed function from unmanaged code if the target PC has the CLI installed...
|
|
|
|
|
N a v a n e e t h wrote: for C#
omg... my apologies. I totally spaced out which forum I was in.
As I re-read your posting, InstallShield cannot find the entry point for the DLL but a webservice can? Would seem to point to a problem with InstallShield.
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Individuality is fine, as long as we do it together - F. Burns
|
|
|
|
|
Installshield likely doesn't have a clue that this is a managed dll. I would suggest you make a small exe and run it from Installshield to do this, rather than a dll (or just a shell of a managed exe that uses the dll you have already made).
|
|
|
|
|
Rob Graham wrote: I would suggest you make a small exe and run it from Installshield to do this
I thought this option too. But I need to return a value to installshield which indicates whether flag reseting is complete or not. But if I used EXE, this won't be possible. There may be cases like webservice is offline, in that case uninstall should break.
|
|
|
|
|
Actually i got a situation i want to enplane it.
I have an exe file that when i give it any path by parameter it generate 5 files as out put. But problem is that in the same directory where the exe is located. How can i handle this situation to fore this exe to generate out put at the source location.
One answer is that copy my exe to the source location ant run it after running delete my exe.
But how can i do it Programmatically i have no idea.
I you have any solution or idea regarding to it plz froward to me.
Thanks for all reply in advance.
|
|
|
|
|
When saving the file, why not just give it the full path to where you want it to be.
So rather than giving it the file name "myfile.txt" give it the file name "c:\users\myaccount\documents\myfilename.txt"? (or where ever you want the file to be written).
|
|
|
|
|
I am giving full path to the target file i.e
"c:\doc\text.txt"
but the proble is that there is not any argument to tell the exe to where save the output files. Bydefalult it save files from where the exe is running.
I have no code of the exe it is third party exe i am only using it....
|
|
|
|
|
Hi,
you may want to use Environment.GetFolderPath to obtain part of the path
you are interested in.
Environment.GetFolderPath(SpecialFolder.ApplicationData)+@"myappname\"
is a typical way of doing this.
|
|
|
|
|
Three little methods that might help.
System.IO.File.Move(@"c:\SourcePath", @"c:\DestinationPath");
System.IO.File.Copy(@"c:\SourcePath", @"c:\DestinationPath");
System.IO.File.Delete(@"c:\FileToDelete");
It's probably better to generate the output files, them move them to the required location rather than copying and deleting the exe, but that's up to you really.
Simon
|
|
|
|
|
If you don't know the full path of a file, but know you can access the files System.IO.Path.GetFullPath();
If you want to know where just a System.IO.File.Create("newFile.txt"); will write the file you can use System.IO.Directory.GetCurrentDirectory(); but it's best to give the full path of where the .Create() should make the file...
|
|
|
|
|
I would like to implement something similiar to the depends utility.
thanks
|
|
|
|
|
|
But still... I have some assemblies that get loaded dynamically via Reflection.
|
|
|
|
|
Obviously, reflecting the assembly won't catch that. Inspecting and decompiling the IL would.
/ravi
|
|
|
|
|
Not in the case where the app gets the name of the required assembly from a database.
|
|
|
|
|
Or if the app uses a web service to look up the connection string before accessing the db. Of course, it has to first look up the .disco resource in order to find the web service.
It's lunch time and the air is heavy with the aroma of spicy chicken with rice. Mmm mm!
/ravi
|
|
|
|
|
Ravi Bhavnani wrote: It's lunch time and the air is heavy with the aroma of spicy chicken with rice. Mmm mm!
I wonder if they anything like that near where I'll be at lunch time today... there's supposed to be a McDonald's, but now you have me thinking on a higher level.
|
|
|
|
|
How do I invoke a method from a dll written in .NET 2.0 from .NET 1.1?
|
|
|
|