Actually , I tried a much cut down version of the plugin with just the
offending class left in, and created a test RB app to try out the plugin.
This got rid of the previously mentioned assert errors but instead I get

"Compilation of "myRBapp" failed: A file system error occurred (#101) for
"Frameworks". If the application already exists please make sure that it is
not currently runing; otherwise please make sure that the destination
directory is writable".


Removing the Byref makes no difference, I still get the same error message:


Here is the RB code calling a shared method on the plugin class "Marks"

  dim pmarks as Marks
  dim err as integer = Marks.CreateInstance(pmarks)

If I comment out the line with CreateInstance() the test app builds fine.


Here is the C++ code:

//**********   Marks::CreateInstance()     ***************************
static int  RB_Marks_CreateInstance( void* unused,REALobject&  pMarks)
{
    pCMarks = REALnewInstance( MarksRBRef );
    
    ClassData(RB_Marks, pMarks, RB_Marks_Data, data );
    
    MarksIf* pMarks;
    int err = Marks::CreateInstance( pMarks );
    data->iClass = ( Marks*) pMarks;
    
    
}


//**********   Marks  Shared Methods Structure Definition
***************************
REALmethodDefinition  RB_Marks_RBSharedMethods[] = {
  {(REALproc) RB_Marks_CreateInstance, REALnoImplementation,
"CreateInstance( pMarks As Marks ) As Integer" ,REALconsoleSafe },
  {(REALproc) RB_Marks_DestroyInstance, REALnoImplementation,
"DestroyInstance(pMarks As Marks ) As Integer",REALconsoleSafe },
};



//**********   Marks   REALclass Definition   ***************************
REALclassDefinition RB_Marks =  {
   kCurrentREALControlVersion,
   "Marks",
   nil,     // superclass
   sizeof( struct RB_Marks_Data), // data struct size
   0,    // reserved
   (REALproc) RB_Marks_Initializer,  //initializer
   (REALproc) RB_Marks_Finalizer,    //deinitializer
   NULL,                     // property list
   0,                     // property count
    RB_Marks_RBMethods,
   sizeof( RB_Marks_RBMethods) / sizeof(REALmethodDefinition),  // method
count
   NULL,            // events
   0,                 // event count (how many events)
   NULL,                // event instances
   0,                    // event instance count
   NULL,        // interfaces
   NULL,        // obsolete1
   NULL,        // obsolete2
   NULL,        // Constants
   0,             // Constantcount
   REALconsoleSafe,             // mFlags
   NULL,       // sharedProperties
   0,             // sharedPropertyCount
    RB_Marks_RBSharedMethods,                     // shared method struct
   sizeof( RB_Marks_RBSharedMethods) / sizeof(REALmethodDefinition),
// property count
};


On 22/12/07 00:27, "Alfred Van Hoek" <[EMAIL PROTECTED]> wrote:

> 
> On Dec 21, 2007, at 6:48 PM, Daniel Stenning wrote:
> 
>> Later I may try removing the byref - even though it totally
>> invalidates what
>> im trying to do.
>> 
>> Is no one out there doing this already ?
> 
> 
> Every new functionality can be buggy, and given that a call into the
> shared method declaration leads to the error, you would want to
> experiment. It does not matter whether or not it would defy the
> functionality, you just need to track the bug, no matter what.
> Declare a simple method, no return value no byref and link it to a
> dummy REALproc, test and go from there to see what syntax is allowed
> and then report.
> 
> 
> _______________________________________________
> Unsubscribe or switch delivery mode:
> <http://www.realsoftware.com/support/listmanager/>
> 
> Search the archives:
> <http://support.realsoftware.com/listarchives/lists.html>
> 

Cheers,
Dan




_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to