Toward the beginning of the C source code, I placed this line:
char Xname[] = "PostgreSQL BLOB encoding functions external v0.0";
(I previously posted the Transcript versions of the functions)
At the end of external.c, I placed this code:
Xternal Xtable[] = {
{"dbblob", XFUNCTION, 0, dbBLOB, dbabort},
{"dbunblob", XFUNCTION, 0, dbUNBLOB, dbabort},
{"", XNONE, 0, NULL, NULL}
};Note that the 'dbabort' function simply contains an fprintf function call (outputs to stderr).
What else would be needed to get this working? I created an Xcode project using the "Carbon Bundle" template, and did simple changes to get the project to build with the following files listed when the project icon is selected in the left-hand pane:
bytea-funcs.bundle (the target) Carbon.framework (from OS X) external.c (my code) InfoPList.strings (provided by Xcode, then modified) XCmdGlue.c (from the SDK) XCmdGlue.h (from the SDK) XCmdName.h (from the SDK)
I also have XCmdFunc.c (from the SDK) copied into the project directory.
Toward the end of XCmdGlue.c, there was a line:
#include "XCmdFunc.c"
I commented that line out because I could not get the project to build otherwise. After commenting out that line, the project now builds without errors or warnings, but does not work. Could this be related to the problem, and if so, how can I get the project to build with the line uncommented? My own code does not call any of the functions provided by the engine; I tried to keep it as simple as I could.
On Oct 13, 2004, at 9:04 AM, Thierry Arbellot wrote:
OK
If you don't want to copy the bundle every-time you rebuild it, use the full path to the folder where XCode build the bundle.
And each time you rebuild the bundle, you should close the stack, remove it from memory then reopen it.
Another thing to check: have you add the 2 functions in the Xtable array declared in the external.c source file ?
On Wednesday, Oct 13, 2004, at 14:40 Europe/Paris, Frank D. Engel, Jr. wrote:
No, just the name. However, I have now tried using the EnhancedQT external, just to see how that one worked (place it where in order for it to work), and placing it in the Rev folder causes it to work, even w/o the full path in "the externals of this stack", and the externalFunctions does return a list of functions.
I placed my external in the same place, but have an empty list of externalFunctions. Apparently something is wrong, either in my C source code, or in the build process.
On Oct 13, 2004, at 5:10 AM, Thierry Arbellot wrote:
On Tuesday, Oct 12, 2004, at 23:44 Europe/Paris, Frank D. Engel, Jr. wrote:
I am trying to build an external for OS X (which I will eventually need to get working under Windows as well). There should be no outside dependencies from the external itself, other than the standard libc. The external contains two functions.
I tried various things, and finally ended up with a .bundle file, courtesy of XCode. I tried several different placements of the file, and have the name of the bundle in the externals property of my main stack, but using 'answer the externalFunctions of this stack' from the msgbox always results in an empty message box (just the ever-present OK button).
I cannot tell if Rev is not finding my external, if my external was not built correctly (found but considered corrupt and silently ignored), or if it is somehow being considered an 'empty' external (a valid external with no functions).
Could anyone help me to debug this problem? Thank you!
----------------------------------------------------------- Frank D. Engel, Jr. <[EMAIL PROTECTED]>
Frank,
Have you set the full path to the bundle in the externals property of the main stack ?
Thierry
_______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
----------------------------------------------------------- Frank D. Engel, Jr. <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.
$
___________________________________________________________ $0 Web Hosting with up to 120MB web space, 1000 MB Transfer 10 Personalized POP and Web E-mail Accounts, and much more. Signup at www.doteasy.com
_______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
_______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
----------------------------------------------------------- Frank D. Engel, Jr. <[EMAIL PROTECTED]>
$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.
$
_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution
