Deutsch
Forum

Ole Strings

 
- Seite 1 -



Normann
Strübli
Hallo,

habe die Ehre die Erste Frage hier stellen zu dürfen

Ich arbeite im Augenblick dem Datenbank-System Cheetah
[...]  und das ganze
funzt auch fantastisch. Die Dll unterstützt den Funktionsaufruf mittels
OLE Strings aber auch mit Standard null-terminierten Strings.
So weit so gut...

Nun möchte ich die Memofelder nutzen um dort binäre Daten (Bilder)
zu speichern. Da in der entsprechenden Funktion keine Bereichsvariable
sondern nur der String übergeben wird ist die maximale länge ja auf
32767 Zeichen begrenzt - das langt aber nicht hin

Wenn ich das richtig verstanden habe sind OLE-Strings grob gesagt
dynamische Strings die keine definierte Länge haben und jedes beliebige
Zeichen enthalten können (verbessert mich bitte) und nicht von
Profan unterstützt werden. -also Pech gehabt...

Eigentlich habe ich mir die Frage damit ja schon selbst beantwortet,
oder ich habe da was übersehen???

Leider ist die Datenbank keine Freeware , aber Vielleicht
hat ja jmd. Interesse die ganzen Funktionen für Profan
umzusetzen - habe schon eine Include geschrieben die den Umgang
vereinfacht.

Jetzt mag sich einer Fragen Warum ich die Dll überhaupt benutzte:

1. Sehr klein, stand alone
2. Sehr schnell
3. Umfangreiche Suchfunktionen
4. Will mich nicht mit SQL beschäftigen

hier nochmal kurz die Spezifikationen:

Max number of records: 2,147,483,647
Max number of fields: 1000
Max character field size: 256
Max numeric field size: 20
Max memo size: Limited by disk space
Max record size: 4000 bytes

Indexes
Max open indexes per database: 100
Max fields for compound indexes: 6
Total allowable open indexes: 1000
Queries

Max number of conditions: 50
Max sort expressions: 6
Multiuser

Max number of concurrent users: 255

Gruß
Normann Strübli
 
16.05.2004  
 



 
- Seite 2 -


[quote:499fc797e0]@IF:
Das mit der mini-Dll ist evtl eine Möglichkeit, aber sagt mir dennoch nicht
zu. Danke für Dein Angebot![/quote:499fc797e0]
 
08.07.2004  
 




Michael
Wodrich
getreu dem Motto: was die Datenbank können soll, das soll sie dann auch ohne Fremdeinwirkung tun...
Muß ich Dir irgendwie recht geben.

Aber wie wäre es statt mit schimpfen einfach mal mit Verbesserungsvorschlägen. Teile den Entwickern einfach mit, daß das mit den Memofeldern nicht in allen Programmiersprachen funktioniert und frage, ob sie nicht eine Funktion einbauen können, die eine Adresse und eine Längenangabe erwartet.
Dann werden aus dem Speicherbereich, auf den die Adresse zeigt, genau Anzahl Bytes in die Memodatei kopiert (und Rückweg genau so).
Das sollte dann mit allen Programmiersprachen funktionieren.

MfG
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
09.07.2004  
 




Frank
Abbing
Hi,

vielleicht können dir die APIs lstrcpy() und lstrcat() helfen.
Die kopieren (bzw. hängen an) einen String in einen Buffer.
Ansonsten kann dir vielleicht auch MultiByteToWideChar() oder WideCharToMultiByte() helfen.
 
09.07.2004  
 




Normann
Strübli
[quote:8a80d2de32]vielleicht können dir die APIs lstrcpy() und lstrcat() helfen.
[/quote:8a80d2de32]
leider nein da sie als Parameter ebenfalls einen Nullterminierten String erwarten und er damit automatisch gekürzt wird.
[quote:8a80d2de32]was die Datenbank können soll, das soll sie dann auch ohne Fremdeinwirkung tun...
[/quote:8a80d2de32]
Natürlich kann ich erwarten das alles einwandfrei funktioniert verdammt, so eine Sch&$% DB!
Außerdem schimpf ich ja gar nicht! (auch wenn sich das vielleicht so liest)

Aber Du hast ja recht und ich habe wieder eine Mail an den Support geschrieben. Ich wollte halt gern ausschließen das es an mir oder
Xprofan liegt, englische Mails verfassen gehört nämlich sicherlich nicht zu meinen
Stärken, aber warum sollen die nicht auch mal was zu lachen haben bei der Arbeit.

Mal gucken was da passiert!

Andernfallst wäre es wohl nicht zu viel verlangt wenn Roland schnell mal eben eine Unterstützung für OLE Strings einbaut

Gruß
Normann
 
09.07.2004  
 



Hmmm, waren OLE Strings nicht diese, welche mit einem der Längenangabe beginnen (anzahl d. bytes) und dann mit dem eigendlichen Inhalt bestückt sind? Vielleicht kannst du das einfach über einen Bereich simulieren, hörst Du?
 
09.07.2004  
 




Normann
Strübli

Ich höre...

versteh nur nicht ganz - war das jetzt ne Frage?

Weißt Du denn was OLE Strings genau sind? - ich nix genau weiß.

Gruß
Normann
 
09.07.2004  
 



Nun, wenn ich mich recht erinnere sind OLE-Strings nix weiter als Pointer mit einem 32bit Header welcher die Länge angibt.

iF
 
09.07.2004  
 




Normann
Strübli
Du meinst also so:

FileData# < enthält sinngemäß z.B. den Inhalt der Datei
DataOLE# < Enthält den simulierten OLE String

Adresse& = FileData#

LONG DataOLE#,0 = @SizeOf(FileData#), Adresse&

Also die ersten 4 byte geben die länge an und die nächsten 4 die Adresse
der Bereichsvariablen.

Wenn ja dann geht nicht. :|
 
09.07.2004  
 



Nee, probier mal 32bit größe, und rest Data.

Also

dim b#,8
long b#,0=4
byte b#,4=ord(t)
byte b#,5=ord(e)
byte b#,6=ord(s)
byte b#,7=ord(t)
 
09.07.2004  
 



 
- Seite 3 -



Normann
Strübli
Danke iF aber aber es funzt so nicht...

Die gute Nachricht ist das die Entwickler meine Nachricht dechiffrieren
konnten und mein Problem angeblich verstanden haben

Ich rechne also nächste Woche mit einem Update, und wenn dann schließlich alles zu meiner Zufriedenheit läuft werd ich natürlich die
fertigen Includes und eine kurze Deutsche Anleitung posten.

Also abwarten....
 
10.07.2004  
 




Normann
Strübli

Ich freue mich... freut euch mit mir (weil keine dummen Fragen meht kommen)

Dem Entwicker war das Problem wohl noch unbekannt aber er hat doch
schnell reagiert und ich habe die neue DLL! mit neuer Funktion!

Manchmal sollte man sich ganz einfach nicht zulange damit aufhalten den Fehler dort zu suchen wo er nicht ist.

Ich danke allen die mir bei diesem langweiligen Thema geholfen haben...
 
12.07.2004  
 



Hey Primö! Kannst ja mal so nen fertig-kompiliertes Teil (deine exe meine ich) und die neue dll zuschicken. (wenns erlaubt ist natürlich nur).

Oder gar hier posten als attachment. Würde mir gerne mal so ein Zwischenergebnis ansehen.

Bis denne, iF
 
12.07.2004  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

16.180 Betrachtungen

Unbenanntvor 0 min.
H.Brill21.05.2024
Member 361000511.11.2022
RudiB.26.04.2022
Ingo20.01.2020
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie