|
turn MyObject class to a static one, if you cannot, i think i had the same problem with DirectX, where i tried to identify a class which contains a directX identifications. it threw me a bizzar exception. and what i did is putting a breakpoint and run the program pressing F10, at first, it threw me an exception but thenit ran normally. try that. it's so fool but you don't encounter this exception in *.exe file!
|
|
|
|
|
OK,
now what is MyObject class supposed to do ?
any idea what would be inside its constructor ?
have you other apps that use MyObject successfully ?
|
|
|
|
|
The MyObject implements a set of delegates which attach to system events allowing them to be handled by a .NET 1.1 application which they would otherwise not be able to do.
I have no idea what would be in the constructor unfortunately but on further testing I have found that a call to a static function within the class prodcues the same result so I am confident it is an issue with the assembly but that still doesn't get me any closer to why the entire function does not execute.
|
|
|
|
|
OK, sounds like there is a problem with a static initializer in MyObject. I can see
two ways forward now:
- contact the author
- try figuring out what is in the initializer using Reflector.
I assume you are on .NET 2.0 or 3.x; you might want to try MyObject inside a .NET 1.1
project, just to see if it works for you; the simplest invocation of MyObject should
be sufficient.
BTW I am not impressed by a "third party" that calls its stuff "MyObject".
Good luck !
|
|
|
|
|
It's not called MyObject, I just used that to demonstrate the problem I would be equally unimpressed if it were
It is currently in .NET 1.1, the assembly and my project are both 1.1.
I've contacted the author and waiting on a reply.
The question I was asking more than what could be wrong with the assembly as I realise it is the assembly causing the problem is how that problem could cause my function not to be executed even before any calls are made to the assembly, I would expect it to fail at the point of referencing the assembly but at least execute the function calls above it.
|
|
|
|
|
__DanC__ wrote: I would expect it to fail at the point of referencing the assembly but at least execute the function calls above it.
I understand that is what would be expected, but when you reach the Init() method, the
first thing that happens is the JIT compiles it; so it wonders about the
MyObject class, it must locate it, and at some point in time, also statically initialize it.
I am not sure exactly when that is supposed to happen; it must be deterministic of course,
and I know the exact order is surprisingly complex; long time ago I suffered from
a bug in that area, dont recall whether it was in 1.0 or 1.1 tho.
I think it is safe to assume static constructors get executed at the start of the
calling method (your Init), since the JIT in general must cope with a complex
flow graph and multiple references to the class, so it cannot always
(and hence does not even try to) predict which one will occur first, hence it will go
for early initialization.
You could proof this true or false by pushing the MyObject stuff and following code
inside Init() one level deeper...
|
|
|
|
|
hi,
i have a unmanaged c++ app that sends events to a managed wrapper, and then the wrapper sends it to my c# app. it works fine. but now i want to create custom controls that gets these events. the problem is i have no idea how. i can create basic custom controls and so.
it's for a touchscreen, so what i want to do is very similar to the click/mousedown events, except its more of a touchdown instead of mousedown.
eventually i want to be able to do Image.touchdown += (add event handler) and one the image is touched on screen, the event is raised. just like a mouse event.
can anyone please tell me where to start, or what article to read, or just give me a hint in the right direction?
thanks,
donovan
those that say it cannot be done shouldn't interrupt those doing it
|
|
|
|
|
With touch screens doesn't the touching equate to mouse stuff?
i.e. if you tap it's like doing a click.
|
|
|
|
|
it's for a multitouch screen, so pressing two fingers on an image does do quite different things than pressing two fingers on something else. so emulating the mouse is not quite a good solution
rather have something you don't need, than need something you don't have
|
|
|
|
|
No I mean don't the touch screen drivers interpret the touching as mouse stuff?
i.e. when you tap the monitor driver does a mouse click on that location
Edit:
Oh wait I reread what you were on about and I think I got confused.
The C++ app handles the touchside of things? It recieves the messages fro mthe touch screen and then tells the C# app.
What you want is then to make controls where the recieved messages fire events.
i.e.
Touch on the screen >> C++ app >> C# app >> fire event on control
|
|
|
|
|
Touch on the screen >> C++ app >> C# app >> fire event on control
exactly
rather have something you don't need, than need something you don't have
|
|
|
|
|
ahhhh got ya
Well you'll need to inherit each control in the framework and extend it with the new events you want. It'd probably be best to make an interface like ITouchableControl that defines the set of events you want and then have each new control impliment it.
The final bit is tell the control when it needs to fire the new events. You need some way of testing if the event from the touch screen is applicable to a cirtain control. You can do this using each controls location and seeing if it matches up with the event, if so then the control can fire its own event to notify anyone whos listening.
As to the exact implimentation of the final bit theres a few different routes you could go. You could have a central class that each control registers itself with, that singleton class would then handle all of the figuring out which controls are applicable and then inform each control as to what it needs to do. The other option is to have each control listen to the events and figure out for itself if it needs to fire its relivent events.
|
|
|
|
|
thanks. that is what i was looking for! the singleton will solve a lot of problems.
thanks again.
donovan
rather have something you don't need, than need something you don't have
|
|
|
|
|
|
donsolms wrote: so pressing two fingers on an image does do quite different things than pressing two fingers on something else
What the heck does that mean? "pressing two fingers"? What difference does it make how many fingers you use to press with? And why would you use more than one? Doesn't that make it more difficult to hit your target?
And what does "does do quite different things than pressing two fingers on something else" have to do with "how" you capture the "press" event? Are you confused... because I sure am.
|
|
|
|
|
ok. let me explain. it's a multitouch screen i built myself. it gets a videofeed from a camera of where you press your finger. the unmanaged c++ app does the tracking of the fingers. then i built a managed wrapper to get the 'events' raised by the unmanaged part. now that is working. now i need to add those touch events to a UIElement in wpf. now doing it with one object is no problem, but doing it with say Image and Button is a whole different story. because once i add a UIElement implemented to receive touches, the app runs but without allowing the other one for touches. so i want to build a framework that allows for more than one element to be touched. the basics should be the same as the normal mousedown event.
as for "doing different things" and "why whould you use more than one finger"?
google/youtube for 'microsoft surface', or 'jeff han ftir' and you'll see why more than one finger and why it does different things when you touch different objects.
@led mike - you're right : "And what does "does do quite different things than pressing two fingers on something else" have to do with "how" you capture the "press" event? " has nothing to do with it, it was just to better explain.
rather have something you don't need, than need something you don't have
|
|
|
|
|
donsolms wrote: google/youtube for 'microsoft surface', or 'jeff han ftir'
Very nice, thanks. Yeah since this is all bleeding edge stuff I have no clue.
|
|
|
|
|
To support multiple touches, you'd probably need an SDK for that tablet. There isn't any built in support in Windows to handle this.
|
|
|
|
|
private void button1_Click(object sender, EventArgs e)
{
try
{
string str = "provider=Microsoft.Jet.OLEDB.4.0;data source=1.mdb";
OleDbConnection passconn = new OleDbConnection(str);
string sql = "select * from password where username='" + this.textBox1.Text + "' and password ='" + this.textBox2.Text + "'";
passconn.Open();
OleDbCommand cmd = new OleDbCommand(sql, passconn);
object result;
result = cmd.ExecuteScalar();
int myint = (int)result;
if (myint == 1)
{
this.Hide();
MDIParent mdi = new MDIParent();
mdi.Show();
}
else
{
MessageBox.Show("Please enter the correct user name password");
textBox1.Text = "";
textBox2.Text = "";
textBox1.Focus();
}
passconn.Close();
cmd.Dispose();
}
catch(OleDbException ex)
{
MessageBox.Show(ex.Message);
}
}
friends i goot puzzled please help me i m new.
|
|
|
|
|
Wats the error?
|
|
|
|
|
Sorry, but I'm not going to read that looking for an error unless I know what I'm supposed to be looking for.
What is the error? Where is the error? What should it do instead?
At a quick glance I can tell you that your code is susceptable to a SQL Injection Attack. Read this for tips on how to prevent SQL Injection Attacks.[^]
Upcoming events:
* Glasgow: Mock Objects, SQL Server CLR Integration, Reporting Services, db4o, Dependency Injection with Spring ...
* Reading: Developer Day 5
Ready to Give up - Your help will be much appreciated.
My website
|
|
|
|
|
There are a few issues with this code. Like you are trying to return a scalar but you are doing select * from password. I think there is perhaps one column that you want to return that you are expecting to be an integer. I think perhaps your code might work better if you did select count(*) from password ... Then you should get the number of records returned that match your username and password.
Hope that helps.
Ben
|
|
|
|
|
The fact that the password is being stored in clear text is a big in itself.
Upcoming events:
* Glasgow: Mock Objects, SQL Server CLR Integration, Reporting Services, db4o, Dependency Injection with Spring ...
* Reading: Developer Day 5
Ready to Give up - Your help will be much appreciated.
My website
|
|
|
|
|
Yes, and like you mentioned in your post sql injection attacks. Still I figure try to help if I can. It is kind of funny how often people expose themselves to sql injection attacks. I read your posts sometimes and it seem more often then not you add a link to your article about it. I guess you can only hope that sooner or later more people will realize the need to use stored procedures all the time for everything instead of taking the easy way out. Of course, this is an access app so I guess that isn't an option.
Ben
|
|
|
|
|
kubben wrote: Of course, this is an access app so I guess that isn't an option.
There is still the option of parameterised queries - that does go some way to protecting the database.
Upcoming events:
* Glasgow: Mock Objects, SQL Server CLR Integration, Reporting Services, db4o, Dependency Injection with Spring ...
* Reading: Developer Day 5
Ready to Give up - Your help will be much appreciated.
My website
|
|
|
|