2012-05-06 59 views
6

Tôi đã viết một ứng dụng cơ sở dữ liệu nhập dữ liệu từ một tệp excel vào cơ sở dữ liệu Access.Cách cấp độ cao với Delphi

Tôi chưa bao giờ gặp khó khăn để chạy các ứng dụng, để chèn các bản ghi vào cơ sở dữ liệu, nhưng ngay sau khi tôi chạy các chức năng để nhập dữ liệu từ Excel vào Access tôi nhận được cảnh báo sau đây:

Các yêu cầu hoạt động đòi hỏi cao - theo mã chết:

LAccess := CreateOleObject('Access.Application'); 

gì gây ra điều này và có cách nào để có được xung quanh nó

Trả lời

8

chức năng CreateOleObject delphi nội bộ gọi phương thức CoCreateInstance WINAPI đó r cân bằng độ cao. bạn có một số tùy chọn để giải quyết vấn đề này.

1) Thêm tệp kê khai vào ứng dụng của bạn bao gồm requested execution levelrequireAdministrator.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
<assemblyIdentity 
    name="Your app name goes here" 
    processorArchitecture="x86" 
    version="5.1.0.0" 
    type="win32"/> 
<description>your app description goes here</description> 
<dependency> 
    <dependentAssembly> 
     <assemblyIdentity 
      type="win32" 
      name="Microsoft.Windows.Common-Controls" 
      version="6.0.0.0" 
      processorArchitecture="x86" 
      publicKeyToken="6595b64144ccf1df" 
      language="*" 
     /> 
    </dependentAssembly> 
    </dependency> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
     <security> 
     <requestedPrivileges> 
     <requestedExecutionLevel 
      level="requireAdministrator" 
      uiAccess="false"/> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</assembly> 

2) Bạn có thể khởi động một quá trình trung học cao mà có thể làm nhiệm vụ hoặc tạo ra một đối tượng COM chạy cao, bạn có thể tìm thêm thông tin trong các MSDN entries

+0

bộ vi xử lýArchitecture = "*" được hỗ trợ để cho biết rằng tất cả kiến ​​trúc bộ vi xử lý. – eyeClaxton