@# Quotes DB     useful, funny, interesting





Google
 
Web www.quotesdb.info
Undernet  |  EFnet  |  Quakenet  |  Freenode  |  Dalnet  |  Ircnet  |  Galaxynet
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


Name:

Comments:

Please enter the result of the sum 63 + 46 (to avoid spam):






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



Home  |  disclaimer  |  contact  |  submit quotes