>> I don't think so. Anyhow, I don't see a reason to make it complicated and 
>> mix the GC pointer concept with thread static variables either, it also 
>> seems wrongs, as AFAIU you can have multiple HDCs open in one thread, and 
>> HFONTs are paired with HDCs.
> 
> I just them trying to correct existing C code and do them 100% compatible 
> with existing programs: win_tprn.prg and win_prn1.c
> not is my analysis. Now, with the existing code in the repository, TPrinter 
> WIN_PRN increases GDIs objects because it's
> impossible eliminate the font created when creating the class or calling 
> WIN_CREATEFONT, this is a bug, AFAIK.

I perfectly understand this.

>> [ Or (as you've suggested first), WIN_CREATEFONT() has to be changed to 
>> return HFONT, and let the higher level code handle these details, this makes 
>> the hbwin code simpler, but allows more mess ups on the app level. ]
> 
> Yes but would not be compatible with existing code ( I remember __hrbLoad :) 
> and also introduces an interesting exercise, BTW.
> 
> IMHO we could corrected or changed if new bugs are found or we opt for a 
> better solution, this is the repository concept and so
> we can *learn*. Return hFont and create a DESTRUCTOR for TPrinter() to remove 
> hFont is not difficult but I think we miss an
> opportunity.

Please note it's not a coincidence I told you to feel 
free modifying WIN_CREATEFONT(). Compatibility in this 
case is secondary, firstly the name of the function 
changed 2 times in the last 1.5 years (without any 
complaint), second, in xhb (where this function comes 
from originally), this function is _not even a public one_.
Hence: compatibility is secondary, I guesstimate that 
waste majority of users use it via the .prg level class.

But, I believe it's possible to solve it using the method 
I outlined. It's up to you to consider them.

I can't add more to this thread at this point.

Brgds,
Viktor

_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to