Category Archive PowerBuilder

Byphunsanit

PowerBuilder:DataWindow.ShareData

shareData เป็นวิธีที่ใช้ data เดียวกันของ DataWindow โดยจะแชร์กันหมดทุกอย่างทั้ง primary buffer, delete buffer, filter buffer, sort order ประโยชน์เช่น มี DataWindow ตัวแรก ( dw_booking ) ไว้กรอกข้อมูลที่ติดต่อลูกค้าและออกรายงานในรูปแบบใบรับจองตั๋วรถทัวร์ โดยจะมีข้อมูลบางส่วนเป็นเวลานัด หมายเลขเที่ยว ที่นั่ง เวลาใส่กระดาษเล็ก ๆ ใน DataWindow ( dw_ticket ) แบบสวยงามกระทัดรัด ไม่จำเป็นต้องมีข้อมูลของลูกค้า แต่ร้านค้ามีข้อมูลครบถ้วนอย่าง ชื่อ นามสกุล เบอร์โทรศัพท์ไว้ติดต่อกรณีที่ลูกค้ามาสาย

การเขียนทำได้ด้วย code ง่าย ๆ

dw_original.ShareData(dw_shareing)
หรือ
IF dw_original.ShareData(dw_shareing) = -1 THEN MessageBox("Error !", "ShareData original and shareing")

ตัวอย่าง

dw_booking.ShareData(dw_dw_ticket)
หรือ
IF dw_booking.ShareData(dw_dw_ticket) = -1 THEN MessageBox("Error !", "ShareData booking and ticket")

เมื่อกรอกข้อมูลใน dw_booking จะเห็นว่าข้อมูลจะไปแสดงใน dw_ticket ตามรูปแบบในหน้าที่ design

ข้อควรระวังคือ source ของทั้งสอง Datawindow ต้องมีจำนวน column และ data type เท่ากัน ไม่อย่างนั้นฝั่ง replicate จะไม่แสดงข้อมูล ดูเพิ่มเติมได้จาก ShareData

Byphunsanit

PowerBuilder: DBMS not supported in your current installation

เห็น error DBMS not supported in your current installation ในขั้นตอนที่ connect database sql server ตอนแรกเข้าใจว่าตอนที่ติดตั้งไม่ได้ลงพวก adodb, jdbc, odbc driver ลอง install ใหม่ก็เหมือนเดิม กี่ครั้งก็เหมือนเดิม

รุ่นพี่บอกให้ลง sql server 2000 หลังจากนั้นก็ connect ได้ปกติเลย เข้าใจว่าในการติดตั้งมันจะลงไดร์เวอร์ให้เป็นตัวที่ยังใช้โปรโตคอลเดี่ยวกับตัว PB8

Byphunsanit

PowerBuilder: file extension

ในส่วนของ source code ของ PowerBuilder ประกอบด้วยไฟล์นามสกุลต่าง ๆ

ความหมายfile extension
Application source files.sra
Custom user object source files.sru
Data pipeline source files.srp
DataWindow source files.srd
Dynamic link library files.pdb
Function source files.srf
Library files.pbl
Menu source files.srm
Project files.srj
Query source files.srq
Structure source files.srs
Target files.pbt
Window source files.srw
Workspace files.pbw
Byphunsanit

PowerBuilder: Target ( Template Application )

วิธีสร้าง target application จาก template

  1. เปิด workspace ที่ต้องการขึ้นมาเช่น งานชิ้นใหม่ก็เปิดจาก development.pbw
  2. คลิก file
  3. คลิก Open..
  4. Browse ไปไฟล์ *.pbw ที่ต้องการ
  5. คลิก OK
  6. คลิก file
  7. คลิก New…
  8. ที่เท็บ Target เลือก Template Application
  9. คลิก OK
  10. หน้า About the Template Application Wizard
  11. คลิก Next >
  12. หน้า What you will do
  13. คลิก Next >
  14. หน้า Specify New Application and Library
    • Application Name: ใส่ชื่อ เช่น prototype_pb8
    • Library: ใส่ชื่อ Library ตัวหลักเช่น C:\UsersDatas\ProjectsGit\PrototypesPowerBuilder8\Source code\main.pb
    • Target: เช่น C:\UsersDatas\ProjectsGit\PrototypesPowerBuilder8\Source code\prototype_pb8.pb
  15. หน้า Specify Template Type เลือกชนิดของ application ที่ต้องการ
    • MDI Application with Microhelp
    • SDI Application
    • PFC-base application
  16. เลือก MDI
  17. คลิก Next >
  18. หน้า Adjust Application Library Search Path
  19. คลิก Next >
  20. หน้า Name MDI Frame and Menu
    • MDI Frame: ใส่ชื่อ เช่น w_main
    • MDI Frame Menu: เช่น m_main
  21. คลิก Next >
  22. หน้า Name MDI Base Sheet, Menu and Service
    • Base Sheet Window: เช่น w_basesheet
    • Sheet Menu: เช่น m_sheet
    • Sheet Manager Service: เช่น n_sheetmanager
  23. คลิก Next >
  24. หน้า Name individual Sheets
    • Sheet 1: เช่น w_sheet1
    • Sheet 2: เช่น w_sheet2
    • Sheet 3: เช่น w_sheet3
  25. คลิก Next >
  26. หน้า Assign Display Name to Sheets
    • W_sheet1 Title (1) : เช่น Untitled for Sheet 1
    • W_sheet2 Title (2) : เช่น Untitled for Sheet 2
    • W_sheet3 Title (3) : เช่น Untitled for Sheet 3
  27. คลิก Next >
  28. หน้า Name About Box and Toolbar Window
    • About Window: เช่น w_about
    • Toolbar Window: เช่น w_toolbars
  29. คลิก Next >
  30. หน้า Specify Connectivity
    • Requires SQL Database connection
    • Requires EAServer connection
    • None
  31. เลือก Requires SQL Database connection
  32. คลิก Next >
  33. หน้า Choose Database Profile
    • เลือก database ที่ต้องการ
  34. หน้า Specify Connectivity Source Info
    • Application INI file คือเก็บไว้ในไฟล์ .ini
    • Registry Settings ฝากไว้ในความจำของ windows
    • Script
    • Connection Service Object: เก็บไว้ในชื่อ เช่น n_connectservice
  35. คลิก Next >
  36. หน้า Name Application INI File
    • Application INI File: เช่น C:\UsersDatas\ProjectsGit\PrototypesPowerBuilder8\Source code\main.ini
  37. คลิก Next >
  38. หน้า Create Project?
    • No. create project later
    • Yes, Create project now
  39. เลือก Yes ซิจะได้ไปต่อ
  40. คลิก Next >
  41. หน้า Specify Project Object
    • Project: เช่น p_prototype_pb8_exe
  42. คลิก Next >
  43. Specify Executable and Resource Files
    • Executable File Name เช่น C:\UsersDatas\ProjectsGit\PrototypesPowerBuilder8\Source code\prototype_pb8.exe
    • Option Resource File (.pbr) เว้นไว้ก่อน
  44. คลิก Next >
  45. Specify Build Options จากจุดนนี้ไปทำเหมือนตอน build เอา
Byphunsanit

PowerBuilder: Deploy

การ Deploy โปรเจกต์ powerbuilder ไปยัง user สามารถทำได้โดยมีส่วนประกอบ 2 ส่วนด้วยกัน

  1. ไฟล์ *.exe
    • ชื่อไฟล์โดยปกติจะโดนระบุไว้ในไฟล์ *.pbt
    • ถ้าไม่มีการเพิ่มหรือลด library ใน target ก็ไม่จำเป็นต้องส่งไฟล์นี้ให้ user
  2. ไฟล์ *.pbd
    • เป็นไฟล์ที่เกิดจากการแปลงไฟล์ library ( *.pbl ) โดยจะมีชื่อเดียวกันแต่นามสกุล .pbd โดยจะอยู่ใน path เดียวกัน
    • สามารถนำไฟล์ pbd ไปแทนที่ไฟล์เดิมในเครื่อง user ได้ทันที ตัว .exe จะสามารถใช้ datawindow, function, window และส่วนประกอบอื่น ๆ ที่อยู่ใน library version นั้น ๆ ได้ทันที
    • ไฟล์ pbd อื่น ๆ สามารถเรียกใช้สิ่งที่อยู่ใน pbd อื่น ๆ ได้ ถ้ายังเป็นชื่อเดิม มี parameter เหมือนเดิม ถึงตัวมันเองจะเก่ากว่า หรือว่าใหม่กว่าไฟล์ pbd ตัวนั้น ๆ

ข้อดีจากคุณสมบัติของไฟล์ pbd และ exe ทำให้เวลาที่ส่งโปรแกม update ให้ user สามารถส่งบางฟีเจอร์ ไปให้ user แต่ละกลุ่มได้โดยการส่ง pbd ให้ต่างกัน กลุ่ม a อาจจะได้รับไฟล์ pbd ที่ใหม่กว่าเพื่อทดลองใช้ฟีเจอร์ใหม่ ๆ ในเมนูเดียวกันกับกลุ่ม b ที่ได้รับไฟล์ pbd เวอร์ชั่นก่อนหน้าที่ใช้งานได้ อาจจะไม่ดีนัก แต่ทำงานได้อยู่