AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi TUTIL32.PAS mit dynamischer DLL Einbindung
Thema durchsuchen
Ansicht
Themen-Optionen

TUTIL32.PAS mit dynamischer DLL Einbindung

Ein Thema von Stephan · begonnen am 18. Sep 2004 · letzter Beitrag vom 18. Sep 2004
Antwort Antwort
Stephan

Registriert seit: 28. Jun 2002
Ort: Tuttlingen
245 Beiträge
 
Delphi 2007 Professional
 
#1

TUTIL32.PAS mit dynamischer DLL Einbindung

  Alt 18. Sep 2004, 14:13
Hi,

Ich habe folgende Unit:

Code:
unit TUtil32;

interface

uses Bde, DbiTypes;

{ TUtility (TUVerifyTable) Session Options }
const
  TU_Append_Errors = 1;
  TU_No_Secondary = 2;
  TU_No_Warnings  = 4;
  TU_Header_Only  = 8;
  TU_Dialog_Hide  = 16;
  TU_No_Lock      = 32;

{ TUtility type definitions }
type
  hTUses = Word;
  phTUses = ^hTUses;
  { Verify Callback processes }
  TUVerifyProcess = (TUVerifyHeader, TUVerifyIndex, TUVerifyData, TUVerifySXHeader,
                     TUVerifySXIndex, TUVerifySXData, TUVerifySXIntegrity,
                     TUVerifyTableName, TURebuild);
  { Call back info for Verify Callback function }
  TUVerifyCallBack = record
    PercentDone: word;
    TableName: DBIPath;
    Process: TUVerifyProcess;
    CurrentIndex: word;
    TotalIndex: word;
  end;

{ TUtility functions }
function TUInit(var hTUSession: hTUses): DBIResult; stdcall;

function TUVerifyTable(hTUSession: hTUses;
                       pszTableName,
                       pszDriverType,
                       pszErrTableName,
                       pszPassword: PChar;
                       iOptions: integer;
                       var piErrorLevel: Integer): DBIResult; stdcall;

function TURebuildTable(hTUSession: hTUses;
                        pszTableName,
                        pszDriverType,
                        pszBackupTableName,
                        pszKeyviolName,
                        pszProblemTableName: PChar;
                        pCrDesc: pCRTblDesc): DBIResult; stdcall;

function TUGetCRTblDescCount(hTUSession: hTUses;
                             pszTableName: PChar;
                             var iFldCount,
                             iIdxCount,
                             iSecRecCount,
                             iValChkCount,
                             iRintCount,
                             iOptParams,
                             iOptDataLen: word): DBIResult; stdcall;

function TUFillCRTblDesc(hTUSession: hTUses;
                         pCrDesc: pCRTblDesc;
                         pszTableName,
                         pszPassword: PChar): DBIResult; stdcall;

function TUFillCURProps(hTUSession: hTUses;
                        pszTableName: PChar;
                        var tblProps: CURProps): DBIResult; stdcall;

function TUGetExtTblProps(hTUSession: hTUses;
                          pszTableName: PChar;
                          var pTS: TimeStamp;
                          var pbReadOnly: Boolean): DBIResult; stdcall;

function TUExit(hTUSession: hTUses): DBIResult; stdcall;

function TUGetErrorString(iErrorcode: DBIResult;
                          pszError: PChar): DBIResult; stdcall;

implementation

const
  TU32 = 'TUTIL32.DLL';

function TUInit;             external TU32 name 'TUInit';
function TUVerifyTable;      external TU32 name 'TUVerifyTable';
function TURebuildTable;     external TU32 name 'TURebuildTable';
function TUGetCRTblDescCount; external TU32 name 'TUGetCRTblDescCount';
function TUFillCRTblDesc;    external TU32 name 'TUFillCRTblDesc';
function TUFillCURProps;     external TU32 name 'TUFillCURProps';
function TUGetExtTblProps;   external TU32 name 'TUGetExtTblProps';
function TUExit;             external TU32 name 'TUExit';
function TUGetErrorString;   external TU32 name 'TUGetErrorString';

end.
diese Unit ruft die TUTIL32.DLL statisch auf. Allerdings benötige ich hierfür unbedingt eine dynamische Einbindung. Leider beendet sich mein Programm mit der staatischen Einbindung sofort wenn das Formular in dem die Unit genutzt wird beim Start erstellt wird.

Was muss ich hier genau ändern? Ein kleines Beispiel anhand einer dieser Funktionen wär sehr hilfreich. Dann kann ich die anderen ja dementsprechend abändern.
viele Grüße

Stephan
  Mit Zitat antworten Zitat
Stephan

Registriert seit: 28. Jun 2002
Ort: Tuttlingen
245 Beiträge
 
Delphi 2007 Professional
 
#2

Re: TUTIL32.PAS mit dynamischer DLL Einbindung

  Alt 18. Sep 2004, 14:32
Hi,

hat sich erledigt. Hab ein Tutorial unter: http://www.delphi-source.de/tutorials/dlls/?page=8 gefunden.
viele Grüße

Stephan
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz