| Home | Previous Lesson: Course 3:: Session 25 :: Page 50 Next Lesson: Course 3:: Session 25 :: Page 70 |
| Dynamic Linked
Libraries In the DOS world, when you create an executable file, everything in the application goes into a single application. This is called as Static linking and it creates a single large executable. When you run the application, the whole executable loads into the memory. In the MS-Windows world, you can create one small executable and the rest as DLLs. When you create DLLs, the operating system loads the DLL in the memory. as and when it is required by the application. Another advantage is that, if the functionality of a DLL is required by multiple applications, MS-Windows doesnt load multiple copies of the same DLL, instead, the loaded DLL is shared among the applications. And also, a DLL can be called by any application, for example, we called few Windows API functions from PowerBuilder applications. Those DLLs we called are Windows DLLs. That means, more applications can share your applications functionality, that too without loading the whole executable in the memory. When none of the application is referencing a DLL, MS-Windows automatically unloads the DLL from the memory. As described above, when you choose P-Code, PowerBuilder generates PowerBuilder DLLs with ".PBD" extension. PBD is the acronym for PowerBuilder Dynamic Linked Library. Unlike other DLLs where any application can make a call to the DLLs, PowerBuilder DLLs (.PBD files) cant be shared by non-PowerBuilder applications. These are proprietary. Other than that, you can utilize every advantage of the DLL. Generating the P-code yields two things. One executable and one PBD for each PowerBuilder library. Depending on the way an Application is structured, the objects in an Application may be distributed in one or more dynamic libraries. An application may be partitioned in response to on or more of the following reasons.
|
| Home | Previous Lesson: Course 3:: Session 25 :: Page 50 Next Lesson: Course 3:: Session 25 :: Page 70 |