[Dcmlib] new DicomDir syntax: aka Deprecation pass
Luca Picello
luca.picello at libero.it
Thu Jul 14 10:51:53 CEST 2005
It seems there is not the deprecated attribute in borland.
Only pragma message can be used for deprecated functions...
cya,
Luca
Mathieu Malaterre wrote:
> Luca,
>
> Thanks for the info but I am rather looking for something like:
>
> Visual Studio:
> __declspec(deprecated) void foo() {}
>
>
> or GCC:
> void foo() __attribute__((deprecated)) {}
>
> Is there such thing in borland ?
>
> Thanks
> Mathieu
>
> Luca Picello wrote:
>
>> Hi Mathieu,
>> Borland compiler uses following syntax to produce compiler-warnings
>> to use for deprecated functions.
>>
>> From Borland Help:
>>
>> The #pragma message compiler directive allows source code to emit
>> warnings and errors just as the compiler does. Use #pragma message to
>> specify a user-defined message within your program code, using one of
>> the following formats.
>> If you have a variable number of string constants, use:
>>
>> #pragma message( "hi there" )
>>
>> #pragma message( "hi" " there" )
>>
>> To write text following a message, use:
>> #pragma message text
>> To expand a previously defined value, use:
>> #pragma message (text)
>>
>> #define text "a test string"
>>
>> #pragma message (text)
>>
>> For example, to display these messages on a button, use:
>>
>> void __fastcall TForm1::Button1Click(TObject *Sender)
>>
>> {
>> #pragma message( "hi there 1" )
>> #pragma message( "hi " "there 2" )
>> #pragma message hi there 3
>> #define text "a test string"
>> #pragma message (text)
>> }
>>
>> To display the messages in the IDE, choose Projects|Options|Compiler,
>> click the Compiler tab, and check the Show general messages check box.
>>
>>
>>
>>
>> Mathieu Malaterre wrote:
>>
>>> Luca,
>>>
>>> Hum this is pretty bad. I thought the old functionanlities where
>>> being kept back...
>>> I would like then to introduce a deprecation mechanism that will
>>> prevent event like this. A number of compilers (well in fact only
>>> gcc/and visual studio but there are the main one), support a notion
>>> of 'deprecated functions'. Therefore at *compiler* time the code
>>> produces warning like:
>>>
>>> ..this function is deprecated...
>>>
>>> But the at run time the code still works ok.
>>>
>>>
>>> JP can we keep the old API or is this too much troubles ? Is
>>> this already broken ?
>>>
>>> Thanks,
>>> Mathieu
>>> Luca Picello wrote:
>>>
>>>> Hi all,
>>>> Syncronizing with today's CVS my code is not working anymore.
>>>> Its code is very easy and I wonder if you can help me on make it
>>>> working again.
>>>>
>>>> gdcm::DicomDir *e1;
>>>> gdcm::DicomDirPatient *pa;
>>>>
>>>> e1 = new gdcm::DicomDir( fold.c_str() , true ); // DEPRECATED OLD
>>>> GDCM SYNTAX
>>>>
>>>> // NEW SYNTAX AS DESCRIBED IN ML BY JP:
>>>> e1 = new gdcm::DicomDir();
>>>> e1->SetDirectoryName(fold.c_str());
>>>>
>>>> ---
>>>>
>>>> if( e1->IsReadable() )
>>>> or
>>>> pa = e1->GetFirstPatient();
>>>> now both fails!!
>>>>
>>>> I do have also access violation error doing (because of failure):
>>>> delete e1;
>>>>
>>>> at: gdcmDicomDir.cxx at line 163 ( delete MetaElems; in
>>>> DicomDir::~DicomDir() )
>>>>
>>>> thank you all,
>>>> Luca
>>>>
>>>> ps: does anybody encoured my latest reported bug on halt on loading
>>>> 2 datasets?
>>>> I can prepare a simple test when gdcm will be functional to me
>>>> again...
>>>>
>>>>
>>>> _______________________________________________
>>>> Dcmlib mailing list
>>>> Dcmlib at creatis.insa-lyon.fr
>>>> http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
>>>>
>>>
>>> .
>>>
>>
>> _______________________________________________
>> Dcmlib mailing list
>> Dcmlib at creatis.insa-lyon.fr
>> http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
>>
>
> .
>
More information about the Dcmlib
mailing list