>> 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