# Cannot find a class or type named "ControlFrame"

**URL:** <https://discourse.processing.org/t/cannot-find-a-class-or-type-named-controlframe/18868>\
**Category:** Libraries\
**Created:** [March 21, 2020, 10:26am UTC](https://discourse.processing.org/t/cannot-find-a-class-or-type-named-controlframe/18868 "2020-03-21T10:26:31Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![lucluc1](https://avatars.discourse-cdn.com/v4/letter/l/46a35a/32.png) [@lucluc1](https://discourse.processing.org/u/lucluc1)\
**Post date:** [March 21, 2020, 10:26am UTC](https://discourse.processing.org/t/cannot-find-a-class-or-type-named-controlframe/18868/1 "2020-03-21T10:26:31Z")

</div>

hi, I’m try an example find on : “[http://www.sojamo.de/libraries/controlP5/examples/extra/ControlP5frame/ControlP5frame.pde](http://www.sojamo.de/libraries/controlP5/examples/extra/ControlP5frame/ControlP5frame.pde)”  
and obtain an error code: cannot find a class or type named “ControlFrame”.  
Does someone have an idea to resolve this?

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/e/ec63d716a9b439b9ab62caef551b2730cec97709.png)  
best regards  
Luc

---

<div class="post-metadata">

**Author:** ![quark](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/quark/32/26_2.png) [@quark](https://discourse.processing.org/u/quark)\
**Post date:** [March 21, 2020, 10:29am UTC](https://discourse.processing.org/t/cannot-find-a-class-or-type-named-controlframe/18868/2 "2020-03-21T10:29:24Z")

</div>

This example is over 7 years old I suspect that ControlFrame has been replaced with something else in a later version.

Always use the latest version of a library and look at the examples that come with it.

---

<div class="post-metadata">

**Author:** ![lucluc1](https://avatars.discourse-cdn.com/v4/letter/l/46a35a/32.png) [@lucluc1](https://discourse.processing.org/u/lucluc1)\
**Post date:** [March 21, 2020, 10:53am UTC](https://discourse.processing.org/t/cannot-find-a-class-or-type-named-controlframe/18868/3 "2020-03-21T10:53:24Z")

</div>

Thanks for your reply Quark, but I tried an old program witch use ControlFrame and it works and it works with same processing version an same libraries???

---

<div class="post-metadata">

**Author:** ![quark](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/quark/32/26_2.png) [@quark](https://discourse.processing.org/u/quark)\
**Post date:** [March 21, 2020, 3:01pm UTC](https://discourse.processing.org/t/cannot-find-a-class-or-type-named-controlframe/18868/4 "2020-03-21T15:01:11Z")

</div>

This sketch runs in Processing 2.2.1 (I tried it) but does work in Processing 3.5.4

---

<div class="post-metadata">

**Author:** ![lucluc1](https://avatars.discourse-cdn.com/v4/letter/l/46a35a/32.png) [@lucluc1](https://discourse.processing.org/u/lucluc1)\
**Post date:** [March 22, 2020, 10:56am UTC](https://discourse.processing.org/t/cannot-find-a-class-or-type-named-controlframe/18868/5 "2020-03-22T10:56:03Z")

</div>

> [@lucluc1](#):
>
> Thanks Quark,

Thanks Quark, I actually use 2.1.2 version because I’m afraid all my old programs could find bugs with new versions, but I know it’s not a good practice and I’ll take time to update the processing version and review my programs.  
But anyway “_I tried an old program witch use ControlFrame and it works with same processing version an same libraries???_” I continue to searche the reason and tell you if I find.  
have a good weekend  
Luc

---

<div class="post-metadata">

**Author:** ![quark](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/quark/32/26_2.png) [@quark](https://discourse.processing.org/u/quark)\
**Post date:** [March 22, 2020, 12:14pm UTC](https://discourse.processing.org/t/cannot-find-a-class-or-type-named-controlframe/18868/6 "2020-03-22T12:14:51Z")

</div>

Under the hood there were _massive important differences_ between Processing 2 and Processing 3 and many libraries had to be modified to work with Processing 3. I had to completely rewrite the guts of my own library G4P to make it V3 compatible.

It does mean that some sketches created in Processing 2 with P2 compatible libraries will not run in P3 even with updated libraries without changing the sketch code. In some cases the effort in modifying the sketch might be quite significant or complex.
