On 08/06/14 14:01, Dimitry Sibiryakov wrote: > 06.08.2014 11:48, Alex Peshkoff wrote: >> I want to have warnings in IStatus separate from errors (keeping them in >> same status vector IMO artifact of isc api). I think that after it this >> is not big problem. Am I missing something obvious? > Yes. If not in the status, where should warnings be? And how an > application can find > out their existence? (Let alone doubtful meaning of warnings for most apps.)
I've not said - not the status, I've said - in the status but separate from errors. I.e. if you have now function get() returning mix of errors and warnings, you will have getErrors() and getWarnings() instead. >>> - Who is going to initialize status vectors? >> This is not directly related here, but it seems possible to reset errors >> in IStatus right after copying them to StatusException but before >> throwing it. But still remains a problem - who will remove warnings from >> IStatus? > IMHO, IStatus should be created clean and then never reset till the > death. Errors > should be appended to the end. In this case it will be possible to report > primary source > of the error and following snowball on cleanup at the same time. Sorry, looks like you do not understand what is discussed here. >> Currently we have a lot of void functions, but certainly they can be >> made to return boolean, therefore avoiding a need in a check if non-zero >> is returned (non-zero can be also valid pointer to interface, number of >> bytes read from blob, etc.). I.e. if we may tune API to make error >> possible only in case of false/zero/NULL returned, we may in many cases >> avid a need in checking IStatus explicitly. > May be you at last give up and accept COM with returning of HSTATUS? > Doomed Delphi > users could directly use "safecall" and interface definitions then. > COM was first option discussed. If you review a few years old devel archives you will understand why we decided not to use it. ------------------------------------------------------------------------------ Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel