Setting a Property's min and max values after creation When using an Int- or FloatProperty, is there any way of changing their min and max values dynamically?

I'm currently loading images on the fly and would like to limit a frame property to run from 0 to len(loaded_images) every time I call the loading operator. However, the property seems to be read-only and re-assigning gives the following error:

bpy.context.scene.project_props.bl_rna.properties['myIntProp'] = bpy.props.IntProperty(...)
TypeError: bpy_prop_collection[key] = value: invalid, expected a StructRNA type or None, not a tuple


I understand the bpy.props constructor uses an intermediary tuple, but I'm not sure how to proceed. Is there any way around this?
You can not alter builtin properties deriving from bpy.types.Property. Just have a look at the api documentation. Every attribute is marked as readonly.
If you are using properties from bpy.props you can use your own setter and getter functions to check for min/max dynamically:
def get_frame(self):
    #default value=42
    return self.get('frame_custom', 42)  

def set_frame(self, value):
    #only accept values between min=0 and max=99
    if 0 &lt;= value &lt; 100: 
        self['frame_custom'] = value

bpy.types.Scene.frame_custom = bpy.props.IntProperty(name=&quot;Frame&quot;, get=get_frame, set=set_frame)

You could also wrap the scene attribute frame_current using:
def get_frame(self):
    return self.frame_current

def set_frame(self, value)
    if 0 &lt;= value &lt; 99:
        self.frame_current = value