# Deprecation and Removal (of a feature)

**URL:** <https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176>\
**Category:** General\
**Created:** [November 9, 2018, 10:06am UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176 "2018-11-09T10:06:14Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![Emile\_Schwarz](https://forum.xojo.com/letter_avatar_proxy/v4/letter/e/90ced4/32.png) [@Emile\_Schwarz](https://forum.xojo.com/u/Emile_Schwarz)\
**Post date:** [November 9, 2018, 10:06am UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/1 "2018-11-09T10:06:14Z")

</div>

Deprecation and Removal (of a feature) are a ay of life in our industry.

At the light of the Graphics Removal questions, maybe something have to be done by Xojo.

Maybe, with a preference, adding a warning at compile time (and stop here: no compilation done unlike the developer change a Preference \*) have to be done when the feature is deprecated (in advance of the Removal) ?

The text can display a warning string plus a hint on how the new way have to be done (or a reference to a PDF in the Read Me folder) or whatever mechanism Xojo will use to explain its developers what to do.

So, developer are really aware of what happens and change their code to comply with the new way(s).  
And, if in a hurry to release the application, the developer can change the preference to be able to generate the code (until he have time to modify it)

Edit:  
Better do something like that than letting application with deprecated stuff / and get a devopper asking people who forgot the new how to since they swapped to the new way years ago).

BTW: this is not a rant, just an advice/clue on how to improve the Xojo user experience, and to avoid future troubles.

- And if that preference is on Project basic (hold the name of the project, flag the feature in new or old projects).

---

<div class="post-metadata">

**Author:** ![Christian\_Schmitz](https://forum.xojo.com/user_avatar/forum.xojo.com/christian_schmitz/32/158_2.png) [@Christian\_Schmitz](https://forum.xojo.com/u/Christian_Schmitz)\
**Post date:** [November 9, 2018, 10:09am UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/2 "2018-11-09T10:09:22Z")

</div>

I still wonder why they needed the deprecation.

I mean you can do the same yourself with just having an extra picture for the canvas.  
instead of graphics, you use your picture.graphics. When you query graphics, you trigger invalidate, too.  
Than in paint event, you draw the image.

---

<div class="post-metadata">

**Author:** ![Emile\_Schwarz](https://forum.xojo.com/letter_avatar_proxy/v4/letter/e/90ced4/32.png) [@Emile\_Schwarz](https://forum.xojo.com/u/Emile_Schwarz)\
**Post date:** [November 9, 2018, 10:15am UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/3 "2018-11-09T10:15:10Z")

</div>

> [@413434:@Christian Schmitz](#):
>
> I still wonder why they needed the deprecation.

By default, I supporse they have a good reason.

When the version where Graphics were deprecated, I had the chance to understand what happens and conform my code with the new way (that time).

But, it could happen to me to not understand a deprecated for any (bad) reason.

---

<div class="post-metadata">

**Author:** ![Jean-Yves\_Pochez](https://forum.xojo.com/user_avatar/forum.xojo.com/jean-yves_pochez/32/21769_2.png) [@Jean-Yves\_Pochez](https://forum.xojo.com/u/Jean-Yves_Pochez)\
**Post date:** [November 9, 2018, 10:55am UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/4 "2018-11-09T10:55:13Z")

</div>

if you analyse the project, you get the list of all depreciations in your code.

---

<div class="post-metadata">

**Author:** ![Beatrix\_Willius](https://forum.xojo.com/user_avatar/forum.xojo.com/beatrix_willius/32/282_2.png) [@Beatrix\_Willius](https://forum.xojo.com/u/Beatrix_Willius)\
**Post date:** [November 9, 2018, 11:03am UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/5 "2018-11-09T11:03:34Z")

</div>

Xojo is removing old APIs. Cough - I still need AbsolutePath in some cases. AppleScript with Outlook.

---

<div class="post-metadata">

**Author:** ![Björn\_Eiríksson](https://forum.xojo.com/letter_avatar_proxy/v4/letter/b/da6949/32.png) [@Björn\_Eiríksson](https://forum.xojo.com/u/Bj%C3%B6rn_Eir%C3%ADksson)\
**Post date:** [November 9, 2018, 1:40pm UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/6 "2018-11-09T13:40:05Z")

</div>

NativePath does not give you what you need instead of AbsolutePath ?

---

<div class="post-metadata">

**Author:** ![Emile\_Schwarz](https://forum.xojo.com/letter_avatar_proxy/v4/letter/e/90ced4/32.png) [@Emile\_Schwarz](https://forum.xojo.com/u/Emile_Schwarz)\
**Post date:** [November 9, 2018, 2:38pm UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/7 "2018-11-09T14:38:13Z")

</div>

> [@413440:@Jean-Yves Pochez](#):
>
> if you analyse the project, you get the list of all depreciations in your code.

For Graphics, apparently, this was not enough.

In a 2013 application (started with Real Studio, still working on Xojo 2015r1), I had to enforce some data entries (remove the too error prone TextField to three PopupMenus).

I also had to TRIM some other entries.

Worst, after five and a half years, when I get an eye on the latest db file, I found many, many other writing errors in the DB.

Doh ! I forgot to add that I strongly dislike to make constraints in a software application. Butfor DB clarity safe, I add some.

The people who use that db (read / write) are white hair people, so it is not really easy. And I do not train them they are volunteers in a charity entity, so things are not easy in that case.

---

<div class="post-metadata">

**Author:** ![Thom\_McGrath](https://forum.xojo.com/user_avatar/forum.xojo.com/thom_mcgrath/32/192_2.png) [@Thom\_McGrath](https://forum.xojo.com/u/Thom_McGrath)\
**Post date:** [November 9, 2018, 6:57pm UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/8 "2018-11-09T18:57:33Z")

</div>

Just use “Analyze Project” to get a list of deprecation, unused variables, stuff like that. Unused Method and Event parameters are pretty noisy, but you can disable those if you like. There’s a lot of gold in the analyzer.

---

<div class="post-metadata">

**Author:** ![Emile\_Schwarz](https://forum.xojo.com/letter_avatar_proxy/v4/letter/e/90ced4/32.png) [@Emile\_Schwarz](https://forum.xojo.com/u/Emile_Schwarz)\
**Post date:** [November 9, 2018, 7:38pm UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/9 "2018-11-09T19:38:02Z")

</div>

Pragma Unused VariableName

Edit: in  
[http://documentation.xojo.com/api/language/pragma\_directives.html](http://documentation.xojo.com/api/language/pragma_directives.html)

---

<div class="post-metadata">

**Author:** ![Thom\_McGrath](https://forum.xojo.com/user_avatar/forum.xojo.com/thom_mcgrath/32/192_2.png) [@Thom\_McGrath](https://forum.xojo.com/u/Thom_McGrath)\
**Post date:** [November 9, 2018, 7:38pm UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/10 "2018-11-09T19:38:58Z")

</div>

[quote=413531:@Emile Schwarz]Pragma Unused VariableName

Edit: in  
[http://documentation.xojo.com/api/language/pragma\_directives.html[/quote]](http://documentation.xojo.com/api/language/pragma_directives.html%5B/quote%5D)  
Oh I’m very aware. But most developers are not used to explicitly declaring method and event parameters as unused. So the panel gets very noisy.

---

<div class="post-metadata">

**Author:** ![Jason\_Parsley](https://forum.xojo.com/user_avatar/forum.xojo.com/jason_parsley/32/152_2.png) [@Jason\_Parsley](https://forum.xojo.com/u/Jason_Parsley)\
**Post date:** [November 9, 2018, 7:45pm UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/11 "2018-11-09T19:45:48Z")

</div>

See the release notes for 2018r3 re case #52735

IDE » Code Editor There’s a new contextual menu available that will write a single #pragma unused line for each parameter to a method, event or computed property setter

---

<div class="post-metadata">

**Author:** ![Jean-Yves\_Pochez](https://forum.xojo.com/user_avatar/forum.xojo.com/jean-yves_pochez/32/21769_2.png) [@Jean-Yves\_Pochez](https://forum.xojo.com/u/Jean-Yves_Pochez)\
**Post date:** [November 9, 2018, 8:22pm UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/12 "2018-11-09T20:22:35Z")

</div>

[quote=413533:@Jason Parsley]See the release notes for 2018r3 re case #52735  
IDE » Code Editor There’s a new contextual menu available that will write a single #pragma unused line for each parameter to a method, event or computed property setter[/quote]  
nice feature !  
just a thought  
could it be smarter and after using the analyzer that finds unused parameters, to set only the unused ones ?

---

<div class="post-metadata">

**Author:** ![Jason\_Parsley](https://forum.xojo.com/user_avatar/forum.xojo.com/jason_parsley/32/152_2.png) [@Jason\_Parsley](https://forum.xojo.com/u/Jason_Parsley)\
**Post date:** [November 9, 2018, 9:14pm UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/13 "2018-11-09T21:14:11Z")

</div>

> [@413543:@Jean-Yves Pochez](#):
>
> could it be smarter and after using the analyzer that finds unused parameters, to set only the unused ones ?

This should already be possible. If you analyze a project and select a bunch of rows and right click it will insert #pragma unused for whatever ones you select.

---

<div class="post-metadata">

**Author:** ![Robert\_Litchfield1](https://forum.xojo.com/letter_avatar_proxy/v4/letter/r/8dc957/32.png) [@Robert\_Litchfield1](https://forum.xojo.com/u/Robert_Litchfield1)\
**Post date:** [November 9, 2018, 10:27pm UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/15 "2018-11-09T22:27:02Z")

</div>

Nice…I’ve learned something new on a Friday afternoon. Thank you!

---

<div class="post-metadata">

**Author:** ![Emile\_Schwarz](https://forum.xojo.com/letter_avatar_proxy/v4/letter/e/90ced4/32.png) [@Emile\_Schwarz](https://forum.xojo.com/u/Emile_Schwarz)\
**Post date:** [November 10, 2018, 8:34am UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/16 "2018-11-10T08:34:58Z")

</div>

And after all: why not a Preference to do that automagically (or not) at “Analyze Project” ?

Not used variables: it is questionnable, but with a Preference they can be commented (letting the developer remove it or use it (after all if someone declare a variable (s)he certainly had a good reason in mind)

---

<div class="post-metadata">

**Author:** ![system](https://forum.xojo.com/uploads/default/original/1X/455b4dcc0e61630e9f81940004ddffa49c432a46.png) [@system](https://forum.xojo.com/u/system)\
**Post date:** [October 29, 2020, 7:27pm UTC](https://forum.xojo.com/t/deprecation-and-removal-of-a-feature/46176/17 "2020-10-29T19:27:14Z")

</div>


