| |
| |
| |
|
Page: 1 2 3 4 5 6 7
Comments:
<0> you do a SetCanvasHandle() Call Original Paint SetCanvasHandle BitBlt <1> Yup. <0> ok <0> try this <1> Easy hack for double buffering. <0> SetCanvasHandle(), Original Paint, SetCanvasHandle(), HideCaret(), BitBlt(), ShowCaret() <1> ok <1> Drk`Angel: May I ask why you're getting a mountain bike? <2> Rahly: why hide the caret? wouldn't that just make it flicker? <0> make what flicker? <3> Vibes: Because I prefer offroading, so I hope to hit actual trails as often as I can. <3> (I ***ume you mean vs a road bike) <0> hidecaret doesn't do a repaint of the window <1> Rahly: Ok, now explain to me why it works there when it doesn't work if I do it before calling the old paint method. <1> (That does seem to do it, BTW) <0> hehe
<0> you know, i wonder if i can explain it <0> i'll try <2> Rahly: the cursor image? <0> when you call the original paint proc <1> That is, if I call HideCaret before the original paint, it has the artifact. <0> it does a ShowCursor() // Cursor is now in SHOW mode <0> then when you got out <0> ShowCursor() paints the cursor right then and there to the window handle <0> then you bitblt, erasing the caret <0> but the caret is still in the SHOW <0> so when the system went to hide it again, it reinverted it, before doing a new show <1> AH <0> thereby having an artifact <1> *little light bulb over my head* <0> you need to HIDE it before you repaint <4> ..interesting to note <0> i had it about 10 mins after you left <0> then i went to eat, just got back <1> It's good to have friends that are smarter than you. <0> lol <0> but you understand <0> Dayna: i don't think you'd notice a cursor flicker image, they are so small <0> but yeah <0> the only other way, vibes, would be to override another function <1> Rahly: Which would that be? <1> (Though I think this will work) <0> 1 sec <0> 0057BD01 |. E8 66120000 CALL coreide7.@Editors@TCustomEditControl@EVSetCaretPos$qqri> <0> TCustomEditControl.EVSetCaretPos <1> Ah... I see. I think your first solution is cleaner though. <0> yeah <0> its a trick <2> la <5> Hey Vibes <1> Descendnt: What's up? <5> I thought of an idea for a feature for your product <1> Shoot <5> i've needed this many times...what about being able to select code vertically to copy to clipboard? <5> like several characters across and then down...but without getting the whole line if you don't need it <5> so you can copy one side of a long list of ***ignments <5> do you see what I'm saying? <4> block copy? <5> is there something like that already? <1> I actually think that's already possible. <5> really, how? <4> some weird ctrl combo <1> Yeah... hold down the ALT key and drag the mouse over the block. <5> for f***s sake! how long has that been around <4> lol, 1986? <5> dang...ok hehe <1> Well, I just did it in D5, so at least that long. :) <4> i think it carries over from the good ole dos IDE days <5> yeah, that probably would have saved me a few months of my life at this point <0> Vibes: does that mean you are all done? <4> lol, i know what ya mean <1> Rahly: With what? <0> with your "hack" <1> With the hackish part, yes. <1> Now comes the long and tedious part. <0> lol <0> but dbing is all working now?
<1> I'm going to go back and reengineer every Castalia editor-drawing plugin to use this new system, and no more flicker. <0> from your idea, it looks like you ended up doing what i suggested <1> Yup, this was the last hurdle. <0> ahh, good luck <1> Thanks. <1> This is going to be great. <0> lol <0> took you long enough ;-) <1> Indeed. <1> Well, I tried to do something like this a couple years ago, and I just didn't have the ASM-deconstructing ability to understand what to do. Now I get it. :) <0> hehe <1> It's nice to know that I've grown though... three years ago, the last time I tackled this, it ended very quickly in frustration. <0> yeah <0> i said the same thing with .NET and MSIL <4> me too <4> ...and COM.. and interfaces.. and windows media.. and directX... and.. <0> i didn't have so much with interface <4> it took me having to actually work with them to fully understand <4> i read about it, but it didnt seem to want to stick in the brain <1> Me either, but we each have our challenges. <1> Some people have a hard time with OO at first... I never had trouble grasping it. <0> i had a hard time doing windows programming initially <1> Database normalization, OTOH, comes easy to some people, and kills me. <4> i think my problem with interfaces stemmed from thinking too tightly.. within process... i was thinking, 'well, whats the point?' <0> because they just had events. i so didn't understand that, coming from DOS <1> Yeah, kinda wierd that some of the most fundamental windows concepts are also the most advanced. <0> yeah vibes, i did that for 5 years, so i don't have a problem with it <1> Timelices, event loops, threading... <0> i'd get upset at other programmers on the staff that couldn't grasp those simple concepts <4> thats the other thing.. Threading.. took me a lot of trial and error to fully understand serialization/protection <0> want a harder one? <0> fibering <4> Ive read about it, never did any implementations though <0> most people dont <1> Not familiar with the idea at all. <0> they are really nice if you wanna write code that no matter what happens, will return back to you <0> Vibes: All threads use fibers <0> winapi CreateFiber() <0> although, all threads have at least one fiber, like all processes have one thread, you can have multiple fibers per thread, although thats hardly ever done <4> its like morphy thread of doom <1> And what *IS* a fiber? <0> WinAPI: A fiber is a unit of execution that must be manually scheduled by the application. Fibers run in the context of the threads that schedule them. <4> like if you have lots of threads that go into waitstates <4> they can be magical <1> interesting <4> the way it sounded to me was like it was some kind of in-thread IOCP with all the thread states saved on the completion event <0> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/fibers.asp <0> thats great doc on it vibes <0> explains it good <1> I'll check it out. <0> its rarely used, but its good to know how that stuff works <4> i think MsSQL uses it? <0> maybe <0> well it says that there is a lightweight fiber mode <0> Vibes: the key i've found here, is that a fiber gets its own stack, so, say, if you wrapper a dll call in a fiber, even if the dll fubars the stack, it would still come back <4> after reading that msdn doc, it really smells like some bastardization of IOCP <4> kinda neat if your into your own scheduling thing i guess <0> most people don't wanna do their own switching <0> too much of a hastle <0> but it would be good for calling unknown code <4> i have enough fun with regular threading, lol <0> most do <4> id love to see the performance data with a fiber based network system over a standard threadpool <4> i mean, if the numbers are good, id definitely want to investigate <0> i was just reading an article in a magazine the other day, about a 1024 core chip <4> is it the size of a dinner plate? :) <0> nope <0> regular chip size <4> dang <0> yeah <4> betcha that gets toasty <0> donno <4> seems the buss would be damn busy <0> they call it the Kilocore chip
Return to
#delphi or Go to some related
logs:
P9 system.io.ioexception #italy resignment letter #politics #nintendo tcl missing close bracket regexp
#beginner ithought.dk #allnitecafe #microsoft
|
|