flex4 1195 ошибка при вызове функции (не получить или установить) - PullRequest
0 голосов
/ 30 сентября 2011

У меня есть класс под названием S3Uploader, который расширяет Sprite, который имеет приватную функцию init, которая выглядит примерно так:

private function init(signatureUrl:String,  
                              prefixPath:String, 
                              fileSizeLimit:Number,
                                queueSizeLimit:Number,
                              fileTypes:String,
                              fileTypeDescs:String,
                              selectMultipleFiles:Boolean,
                                buttonWidth:Number,
                                buttonHeight:Number,
                                buttonUpUrl:String,
                                buttonDownUrl:String,
                                buttonOverUrl:String
                                ):void { 
//do stuff

}

В моем приложении Flex я пытаюсь отобразить спрайт и вызватьФункция инициализации, когда приложение загружено.мой код до сих пор таков:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
                initialize="init();">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <fx:Script>
        <![CDATA[
            import S3Uploader;

            function init() {   
                var s3upload:S3Uploader = new S3Uploader();
                s3upload.init('/s3_uploads2.xml', '', 524288000, 100, '*.*', 'All Files', true, 100, 30, '/images/upload-button.png', '/images/upload-button.png', '/images/upload-button.png');
                uploader.addChild(s3upload);
            }
        ]]>
    </fx:Script>
    <s:SpriteVisualElement id="uploader" />
</s:Application>

однако, в строке, где я вызываю s3upload.init, я получаю ошибку 1195, говорящую «1195: попытка доступа к недоступному методу init через ссылку со статическим типом S3Uploader. "

Когда я посмотрел эту ошибку, мне показалось, что почти все, кто ее получил, пытались вызвать функцию с помощью set или get.Тем не менее, я не делаю этого, и я понятия не имею, почему я получаю эту ошибку.Кто-нибудь знает, что я делаю не так?

1 Ответ

7 голосов
/ 30 сентября 2011

Вы должны изучить основы ООП. Вы не можете вызывать private функции не из объектов владельца функции. Отметить как public.

...