![]() |
AW: Ini-Datei in DB-Feld verlegen
Zitat:
MS schreibt auch das man das nur noch wegen einfacher Portierung von 16-Bit Code auch unter 32-Bit zur verfügung hat ( ![]() Lustig ist hier das man dir Registry empfiehlt ob diese ja auch schon wieder "böse" ist. Heutzutage würde man xml-"ini"-Dateien verwenden. |
AW: Ini-Datei in DB-Feld verlegen
Zitat:
Zitat:
![]() |
AW: Ini-Datei in DB-Feld verlegen
Eine Tabelle pro Dll ist nicht notwendig. Flexibler ist es diese als Schlüssel oder noch besser in eine eigene Tabelle zu verwalten.
|
AW: Ini-Datei in DB-Feld verlegen
Es ist doch völlig Wurscht, ob jede DLL eine eigene Tabelle hat, oder ob es eine Gesamt-Tabelle gibt. Der DLL/Anwendung muss das egal sein. Die Implementierung der Zugriffsklasse/Interface muss das wissen und sonst keiner.
Ab dann habe ich alle Freiheiten der Welt und kann auch zum Testen einfach mal eine Dummy-Implementierung drunter hauen, oder eben eine Tabelle ansprechen, oder eben eine für jede DLL, oder für DLL x eine Datei, DLL y die Registry, für die Anwendung ein Zugriff auf alles zusammen ... |
AW: Ini-Datei in DB-Feld verlegen
Die Erweiterung, um eine Dll ist dann aber einfacher. Zudem entspricht das eher (meinem) Verständnis von Normalisierung.
|
AW: Ini-Datei in DB-Feld verlegen
Zitat:
Danke auch allen anderen für die nützlichen Hinweise. |
AW: Ini-Datei in DB-Feld verlegen
Ich bin Urlaubsreif, ich merks, mir rennt zu dem die Zeit weg BIS zu meinem Urlaub, also beanspruche ich nochmals euch, sry.
baumina und Pointer ... da treffen schon immer zwei Welten aufeinander. Meine Funktion in der DLL, die mit dem Hauptprogramm kommuniziert sieht so aus :
Delphi-Quellcode:
Die Array-Größe von 0..200 reicht mir für die Ini-Datei nun nicht mehr. Was muss ich denn da ändern, dass ich da keine festen Größen mehr haben muss?
type
TDBComProc = function( aTable, aCommand, aParam : pAnsiChar):integer of object; var DBCommunicator : TDBComProc; function DBCom(aTable, aCommand, aParam : Ansistring):Ansistring; var pTable, pCommand : array[0..100] of Ansichar; pParam : array[0..200] of Ansichar; begin result := ''; if @DBCommunicator = nil then begin Exit; end; strPCopy(pTable,aTable); strPCopy(pCommand,aCommand); strPCopy(pParam,aParam); DBCommunicator(pTable,pCommand,pParam); result := StrPas(pParam); end; |
AW: Ini-Datei in DB-Feld verlegen
Wieso machst Du es nicht wie MS und spendierst der Funktion einen Var-Parameter vom Typ integer? Der wird beim Aufruf mit der Größe des reservierten Puffers belegt und wenn zu klein, gibt die DLL die benötigte Größe in eben diesem Parameter zurück? Dann kannst Du den Speicher dynamisch anfordern und bist an keine fixe Größe gebunden.
|
AW: Ini-Datei in DB-Feld verlegen
d.h. ich brauche nochmal eine Funktion in der dll, die mein Hauptprogramm erst mal nach der zu erwartenden Größe fragt?
EDIT : Ach ne ... oh man, ich muss nachdenken, schaffs aber grad nicht. |
AW: Ini-Datei in DB-Feld verlegen
Nicht unbedingt eine neue Funktion, aber neue Parameter.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz