ThreadBoard ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
Delphi (Object Pascal) (Sdk)
Delphi (Object Pascal) // SdkcanopusOct 1, 1998, 1:31pm
This is a multi-part message in MIME format.
--------------8C2B3838D60C2273AA1E4CE2 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit The Aw.dll can be linked into an application created in the Delphi visual programming environment using Object Pascal. The attached Zip file includes a Pascal unit with a complete set of declarations and import library for Aw.dll, plus a Delphi version of the Sample1 program, which ran successfully earlier today. This may interest those AW citizens who were discouraged when they heard that knowledge of C/C++ would be necessary to use the new SDK. --------------8C2B3838D60C2273AA1E4CE2 Content-Type: application/x-zip-compressed; name="Sample1Form.zip" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="Sample1Form.zip" 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 --------------8C2B3838D60C2273AA1E4CE2-- roland vilettOct 2, 1998, 2:44am
> This may interest those AW
>citizens who were discouraged when they heard that knowledge of C/C++ >would be necessary to use the new SDK. Just a teeny-tiny nit-pick, but you only need to know C to use the SDK. C++ isn't necessary :) -Roland jeanphiOct 2, 1998, 6:14pm
Hi,
Do I need the awsdk.lib file with the akawapi.pas file ? In order to use the dll ? thx canopusOct 2, 1998, 8:14pm
[View Quote]
> Hi,
> > Do I need the awsdk.lib file with the akawapi.pas file ? > In order to use the dll ? > > thx No; if you Use the akAWAPI unit in your form unit, and of course compile and run the form with aw.dll in the same directory, that's all you need. Delphi compiles the executable application, which, now that the aw.dll is directly linked into it, will take care of your contact with your Bot when the application runs. Except for the akAWAPI unit (it replaces both the aw.h and aw.lib), the programs look a lot like C programs. Of course Delphi makes it easy to design a windowed form with controls on it, etc., and later you can make your own Bot object classes, Avatar object classes, attach database objects, image files, etc., which as you know is very easy to do in Delphi, and hard to do in C or even C++. magine@pipeline.com (magine)Oct 3, 1998, 1:38am
[View Quote]
>The Aw.dll can be linked into an application created in the Delphi
>visual programming environment using Object Pascal. The attached Zip >file includes a Pascal unit with a complete set of declarations and >import library for Aw.dll, plus a Delphi version of the Sample1 program, >which ran successfully earlier today. This may interest those AW >citizens who were discouraged when they heard that knowledge of C/C++ >would be necessary to use the new SDK. Bless you. :) I've been programming in plain old C for over 10 years, but I recently discovered Delphi and although I still like C better than Pascal as a language, for quick and easy development the Delphi package beats MS Visual C++ hands down. I was working on making a Delphi unit for the SDK when I found yours here...thanks for saving me the work. :) -Magine magine@pipeline.com (magine)Oct 3, 1998, 1:45am
[View Quote]
<snip>
> Of course Delphi makes it easy to design a windowed form with >controls on it, etc., and later you can make your own Bot object >classes, Avatar object classes, attach database objects, image files, >etc., which as you know is very easy to do in Delphi, and hard to do in >C or even C++. Delphi is great...I wrote World Mapper with it, BTW. It would have taken five times as long for me to write it in Visual C++. -Magine (pardon the slight off-topic) jeanphiOct 3, 1998, 1:05pm
Could you explain me this line in detail from you UNIT ?
rc := aw_event_set(AW_EVENT_AVATAR_ADD, at AvatarAdd); thx jeanphi canopusOct 3, 1998, 4:51pm
Calling a DLL function from another language is always a puzzle: what is
the equivalent in the calling language (Object Pascal) for the function in the language used by the DLL (C)? If you guess wrong, the system is sure to punish you with a crash. The C function has one parameter that is a pointer to a procedure ('handler'); what is the Delphi equivalent (what will make it pass the right content, in the right way)? So I (finally, crash..crash) declared a type of global procedure pointers called AWEventProc, for procedures with no arguments, and then declared AvatarAdd as just that kind of procedure. The Delphi compiler passes the address of AvatarAdd ( at AvatarAdd) to the DLL. I hope I got it right! Let me know if something else works better for you. [View Quote] > Could you explain me this line in detail from you UNIT ? > > rc := aw_event_set(AW_EVENT_AVATAR_ADD, at AvatarAdd); > > thx > > jeanphi magine@pipeline.com (magine)Oct 3, 1998, 9:01pm
BTW, I having a lot of problems with stack overflow and crashing,
until I changed all the "stdcall" declarations to "cdecl"...that seems to work better.... -Magine [View Quote] >The Aw.dll can be linked into an application created in the Delphi >visual programming environment using Object Pascal. The attached Zip >file includes a Pascal unit with a complete set of declarations and >import library for Aw.dll, plus a Delphi version of the Sample1 program, >which ran successfully earlier today. This may interest those AW >citizens who were discouraged when they heard that knowledge of C/C++ >would be necessary to use the new SDK. canopusOct 4, 1998, 12:17am
Thanks Magine. It improves things for me too. I was suddenly crashing in the
midst of aw_query CELL_OBJECT events--I thought it was due to not understanding exactly how to use aw_query! Now progress seems possible again. [View Quote] > BTW, I having a lot of problems with stack overflow and crashing, > until I changed all the "stdcall" declarations to "cdecl"...that seems > to work better.... > > -Magine > [View Quote] jeanphiOct 4, 1998, 9:55am
Thanks Canopus,
I am now starting my programmation with SDK on Delphi because of your Library translation ! What are the declararions 'stdcall' and 'cdecl' do I have to modify akAWAPI.pas ? thx jeanphi canopusOct 4, 1998, 1:46pm
This is a multi-part message in MIME format.
--------------4A04C33028FB8E5BBA1930D9 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I have substituted "cdecl" for "stdcall" as the calling convention used in the akAWAPI.Pas unit, which is included (along with the Sample1 unit) in the attached Zip file. [View Quote] > BTW, I having a lot of problems with stack overflow and crashing, > until I changed all the "stdcall" declarations to "cdecl"...that seems > to work better.... > > -Magine > [View Quote] --------------4A04C33028FB8E5BBA1930D9 Content-Type: application/x-zip-compressed; name="Sample1Form.zip" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="Sample1Form.zip" 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 --------------4A04C33028FB8E5BBA1930D9-- canopusNov 12, 1998, 1:35pm
To turn the attached Sample 1 into a full Delphi program, first start a new Project.
Take the empty Form and put onto it all the controls mentioned under TfrmakSample1: two Panels, one Panel for the Memo and one Panel for the Button and the two Edit boxes. Activate the Form's Create and Destroy methods, and the Button's Click method. Name the Form something like "frmSample1". Save the Form unit as "Sample1Form", and the Project as "Sample1". (You'll see that Delphi has automatically listed each control and method under frmSample1 for you, as well as declaring your Form as a global variable.) Fill in the code for Button1.Click, Form.Create, and Form.Destroy, by copying from the attached program. Declare a global procedure, AvatarAdd, and copy its implementation from the attached program. (It's not declared as a public Form method, because Delphi should pass a simple procedure address, at AvatarAdd, to the server, not an object.method address.) Add the akAWAPI unit to your project, and add "akAWAPI" to the uses clause in your Form interface. Run Project Syntax Check, Compile, and SaveAll. You should have a working GreeterBot program. [View Quote] > The Aw.dll can be linked into an application created in the Delphi > visual programming environment using Object Pascal. The attached Zip > file includes a Pascal unit with a complete set of declarations and > import library for Aw.dll, plus a Delphi version of the Sample1 program, > which ran successfully earlier today. This may interest those AW > citizens who were discouraged when they heard that knowledge of C/C++ > would be necessary to use the new SDK. > > ------------------------------------------------------------------------ > > Name: Sample1Form.zip > Sample1Form.zip Type: Zip Compressed Data (application/x-zip-compressed) > Encoding: base64 canopusJan 7, 1999, 4:14pm
Later we discovered that "cdecl" should be appended to the declarations of event
handler and callback handler procedures in your program units, too. That way the Delphi compiler will know how the aw.dll is going to call your procedure, as well as how your program should call aw.dll functions and procedures (which we fixed right away). [View Quote] > I have substituted "cdecl" for "stdcall" as the calling convention used in > the akAWAPI.Pas unit, which is included (along with the Sample1 unit) in the > attached Zip file. > [View Quote] |