Autor Beitrag
Holg_i
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Di 09.03.10 11:30 
Hallo liebe Gemeinde,

es hört sich komisch an, ist es auch, aber ich bin mal wieder mit meinem Latein am ende.

Benutze ich folgenden Code geht alles ganz fein:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TForm1.FormCreate(Sender: TObject);

var handelDLL: HINST;
    NDLL: PChar


begin
     // DLL Einbinden
     handelDLL:=0;
     NDLL:=Nil;
     For i:=1 to ParamCount do IF LowerCase(ExtractFileExt(ParamStr(i)))='.dll' then NDLL:=PChar(ParamStr(i));
     IF NDLL=Nil then NDLL:=PChar('E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll');

     handelDLL := LoadLibrary(NDLL);

     if handelDLL = 0 then
     begin
          MessageBox(0,'DLL nicht gefunden','kritischer Fehler',MB_OK or MB_ICONSTOP);
          Application.Terminate
     end
     else
     begin
          ....
          ....
          ....


Benutze ich diese Variante:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TForm1.FormCreate(Sender: TObject);

var handelDLL: HINST;
    NDLL: PChar


begin
     // DLL Einbinden
     handelDLL:=0;
     NDLL:=Nil;
     For i:=1 to ParamCount do IF LowerCase(ExtractFileExt(ParamStr(i)))='.dll' then NDLL:=PChar(ParamStr(i));
     IF NDLL=Nil then NDLL:=PChar(ExtractFilePath(Application.ExeName)+'cstkom.dll');

     handelDLL := LoadLibrary(NDLL);

     if handelDLL = 0 then
     begin
          MessageBox(0,'DLL nicht gefunden','kritischer Fehler',MB_OK or MB_ICONSTOP);
          Application.Terminate
     end
     else
     begin
          ....
          ....
          ....


Wird die DLL auch geladen aber es führt im weiteren verlauf zu einem fehler.

Der fehler ist kein fehler das ist Fakt und wie getippt klappt es wen ich

ausblenden Delphi-Quelltext
1:
2:
3:
     IF NDLL=Nil then NDLL:=PChar('E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll');

     handelDLL := LoadLibrary(NDLL);


Tippe wunderbar

nur bei:

ausblenden Delphi-Quelltext
1:
2:
3:
     IF NDLL=Nil then NDLL:=PChar(ExtractFilePath(Application.ExeName)+'cstkom.dll');

     handelDLL := LoadLibrary(NDLL);


nicht.

Ich verstehe die Welt nicht mehr.


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Di 09.03.2010 um 10:40
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: Di 09.03.10 11:44 
pchars böööse!
Ich nix mögen pchars!

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TForm1.FormCreate(Sender: TObject);

var handelDLL: HINST;
    NDLL: string;


begin
     // DLL Einbinden
     handelDLL:=0;
     NDLL:='';
     For i:=1 to ParamCount do IF LowerCase(ExtractFileExt(ParamStr(i)))='.dll' then NDLL:=ParamStr(i);
     IF NDLL='' then NDLL:=ExtractFilePath(Application.ExeName)+'cstkom.dll';

     handelDLL := LoadLibrary(PChar(NDLL));

     if handelDLL = 0 then
     begin
          MessageBox(0,'DLL nicht gefunden','kritischer Fehler',MB_OK or MB_ICONSTOP);
          Application.Terminate
     end
     else
     begin
          ....
          ....
          ....


Probierst du?
Holg_i Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Di 09.03.10 12:06 
Ich fange an dieses Forum zu lieben. Erstmal DANKE

Klasse geht.. aber warum.

Und was nun nicht geht. Gebe ich "E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll" als parameter mit wird die DLL geladen und funktioniert und es kommt wieder zu einem fehler im ablauf.

Was ist nun der unterschied.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
procedure TForm1.FormCreate(Sender: TObject);

var NDLL: String;

begin

     // DLL Einbinden
     handelDLL:=0;
     NDLL:='';
     For i:=1 to ParamCount do IF LowerCase(ExtractFileExt(ParamStr(i)))='.dll' then NDLL:=ParamStr(i);
     IF NDLL='' then NDLL:=ExtractFilePath(Application.ExeName)+'cstkom.dll';

     handelDLL := LoadLibrary(PChar(NDLL));

     if handelDLL = 0 then
     begin
          MessageBox(0,'DLL nicht gefunden','kritischer Fehler',MB_OK or MB_ICONSTOP);
          Application.Terminate
     end
     else
     begin
          ....
          ....
          ....


wenn ich es mit oder auch ohne Parameter starte ist NDLL immer gleich.

Also NDLL: 'E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll'

Bei mitgegebenen Parameter kommt es zu einer Fehlermeldung die blödsinn ist aber das Programm startet nicht bei nicht mitgegebenen Parameter läuft es. In beiden fällen wird die DLL aber richtig gelanden.

AchJa noch eben bemerkt... gebe ich als Parameter "E:\Eigene Dateien\SOURCE\Delphi 4\MDI\1.dll" mit geht es obwohl 1.dll die gleiche DLL ist nur halt unter einem andern KÜRZEREN namen.

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Es wird immer sonderbarer.

Also der Quelltest ist

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TForm1.FormCreate(Sender: TObject);

var NDLL: String;

begin
     // DLL Einbinden
     handelDLL:=0;
     NDLL:='';
     For i:=1 to ParamCount do IF LowerCase(ExtractFileExt(ParamStr(i)))='.dll' then NDLL:=ParamStr(i);
     IF NDLL='' then NDLL:=ExtractFilePath(Application.ExeName)+'cstkom.dll';

     handelDLL := LoadLibrary(PChar(NDLL));

     if handelDLL = 0 then
     begin
          MessageBox(0,'DLL nicht gefunden','kritischer Fehler',MB_OK or MB_ICONSTOP);
          Application.Terminate
     end
     else
     begin
          ....
          ....
          ....


Ich habe zwei DLL's die beide komplett die gleichen sind

1. E:\Eigene Dateien\SOURCE\Delphi 4\MDI\1.dll
2. E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll

wie getippt beides sind die gleichen ich habe sie nur kopiert.

A. rufe ich das Programm ohne Parameter auf so wird E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll geladen
programm läuft und macht bei beenden ein unerklärlichen fehler.

B. rufe ich das programm mit Parameter ( E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll ) auf kommt es nicht weit und bricht mit einem unerklärlichen fehler ab.

C. rufe ich das programm mit Parameter ( E:\Eigene Dateien\SOURCE\Delphi 4\MDI\1.dll ) auf geht alles super startet und beendet alles normal.

Wie getippt in allen fällen wird die DLL geladen und sie arbeitet.

Bei A. Beendet sich das Programm nicht fein.
Bei B. Startet es nicht.
Bei C. geht es richtig.

Hatt dafür einer eine erklärung?
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 09.03.10 12:36 
Und warum übergibst du das Ding nicht als ein Parameter, mit "" eingeschlossen?

Naja, zum Problem: Wenn es wirklich exakt die selbe DLL ist, mag ich mal behaupten, dass dein Fehler woanders herkommt. Da du aber freundlicherweise direkt die Fehlermeldung mit angegeben hast, können wir wohl nur raten.
- Arbeitest du mit Threads oder dynamischen Arrays?
- Aktivier mal in den Projektoptionen so Sachen wir "Bereichsprüfung", erzeug das Projekt neu, und versuchs nochmal.

_________________
PROGRAMMER: A device for converting coffee into software.
Holg_i Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Di 09.03.10 12:47 
Ich benutze dynamische Arrays.

Wie ich tippe... Die DLL sind eine Kopie... die eine cstkom.dll und die kopie 1.dll

cstkom.dll wird geladen wenn keine als Parameter mitgegeben wird ( fall A ).
gebe ich cstkom.dll als paramter mit so kommt es zum fehler ( fall B )
gebe ich 1.dll mit ( fall C ) klappt alles super.

Das dynamische Array erzeuge ich mit

SetLength(

nach dem laden der DLL weil ich die größe erst von der DLL bekomme die ich benötige.

Auch mit Bereichsprüfung passiert das gleiche.
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 09.03.10 12:53 
Fehlermeldung...

_________________
PROGRAMMER: A device for converting coffee into software.
Holg_i Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Di 09.03.10 13:03 
A. rufe ich das Programm ohne Parameter auf so wird E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll geladen
programm läuft und macht bei beenden ein unerklärlichen fehler.

B. rufe ich das programm mit Parameter ( E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll ) auf kommt es nicht weit und bricht mit einem unerklärlichen fehler ab.

C. rufe ich das programm mit Parameter ( E:\Eigene Dateien\SOURCE\Delphi 4\MDI\1.dll ) auf geht alles super startet und beendet alles normal.
Einloggen, um Attachments anzusehen!
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 09.03.10 13:12 
Zu A: Deutet darauf hin, dass du auf etwas zugreifst, was es nicht gibt.. Eigentlich sollte Delphi an der Stelle stehen bleiben, wo der Fehler entsteht. Muss nicht unbedingt was mit der dll zu tun haben.
Zu B: Ähhhh.. Sicher, dass davor nicht noch eine Meldung erscheint? Ansonsten :?: *ratlos*

Versteh ich dich richtig, dass NDLL in Fall A als auch B identisch ist? Dann seh ich da erstmal keinen Grund, warum es mal gehen sollte, und mal nicht.

_________________
PROGRAMMER: A device for converting coffee into software.
Holg_i Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Di 09.03.10 13:19 
Ja das siehst du richtig.

NDLL ist in Fall A wie auch im Fall B gleich ( Debug hat es mir gezeigt )

NDLL: 'E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll'

nur wir NDLL durch ein Parameter beschrieben ( Fall B ) Starte das Programm nicht. wird es erzeugt da kein Parameter mitgegeben wird ( Fall A ) geht es nur das beenden geht nicht richtig.

Wird als parameter E:\Eigene Dateien\SOURCE\Delphi 4\MDI\1.dll ( Fall C ) mitgegeben geht alles super.

Und wie getippt es sind beide die gleichen DLL's da nur kopiert.

Ich flippe hier noch aus.

Nachtrag:

Es muss mit der Länge des DLL-Names zusammenhängen.

beide DLL nun in c:\ kopieret und dort geht es in allen fällen mit allen DLL's

Aber die lösung sollte das nicht sein
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: Di 09.03.10 14:06 
Meiner Ansicht nach kann es nur ein Problem mit der Speicherverwaltung sein.
Das Laden der DLL ist korrekt. U.U. liegt der Fehler in der DLL selbst. Überprüfe doch mal ob in dieser keine Probleme bei Speicherzugriffen (z.B. über Arraygrenzen hinaus) auftreten.

Beste Grüße
Holg_i Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Di 09.03.10 14:22 
Ich Danke auf alle fällen allen die hier Hilfeleistung geben wollen.

Die DLL ist korrekt wie getippt es sind durch kopieren zwei genau gleich DLL mit nur zwei verschiedenen namen.
Benenne ich 1.dll um in jetztaber.dll habe ich das problem benenne ich sie wieder um in 1.dll oder a.dll geht alles.

Kopiere ich cstkom.dll nach C:\ und binde sie mit ein geht auch alles lasse ich sie in E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll geht es nicht

Es muss an der Länge des Pfades+Dateinamen liegen.

Wobei mir noch nicht klar ist was an

NDLL:=ExtractFilePath(Application.ExeName)+'cstkom.dll';

und dem übegebenen Parameter

E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.dll also NDLL:=ParamStr(i);

anderst sein soll.

ich rasste echt bald aus hier... Da läuft das ganze Programm schon echt fein und nun dieser misst.
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 09.03.10 14:25 
@Tastaro: Da sagst du was..
In diesem Zusammenhang möchte ich mal nachfragen, ob du Strings in der DLL verwendest? Oder was für Datentypen generell zum Einsatz kommen.

Zum neuesten Post:
Soweit ich weiß kann PChar nur bis 255 Zeichen.. aber die sind ja hier bei weitem noch nicht erreicht.
Wozu ist es überhaupt notwendig, dass du per Parameter die DLL übergibst?

_________________
PROGRAMMER: A device for converting coffee into software.
Holg_i Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Di 09.03.10 14:35 
Also folgendes. Ich habe nun folgendes gemacht.

1. die DLL's in CLL's umbenannt. Ist auch nachher für meine Anwendung recht sinnvoll.
2. CLL mit meiner Anwendung verknüpft
3. cstkom.cll im verzeichniss belassen und es auf C:\ kopiert

klicke ich nun doppelt auf E:\Eigene Dateien\SOURCE\Delphi 4\MDI\cstkom.cll so startet mein programm nicht ( keine fehlermeldung nix )
klicke ich nun doppelt auf C:\cstkom.cll so startet mein programm

klicke ich doppelt auf E:\Eigene Dateien\SOURCE\Delphi 4\MDI\1.cll so startet mein programm
klicke ich doppelt auf C:\1.cll so startet mein programm auch

starte ich mein programm direkt also ohne parameter so startet es zwar ( mit dem laden von NDLL:=ExtractFilePath(Application.ExeName)+'cstkom.cll'; ) aber bei beenden tretten fehler auf.

wie getippt 1.cll und cstkom.cll sind beides die gleichen dateien nur umbenannt.


Ach ja den Code habe ich natürlich wie folgt geändert

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TForm1.FormCreate(Sender: TObject);

var NDLL: String;

begin
     // DLL Einbinden
     handelDLL:=0;
     NDLL:='';

     For i:=1 to ParamCount do IF LowerCase(ExtractFileExt(ParamStr(i)))='.cll' then NDLL:=ParamStr(i);
     IF NDLL='' then NDLL:=ExtractFilePath(Application.ExeName)+'cstkom.cll';

     handelDLL := LoadLibrary(PChar(NDLL));

     if handelDLL = 0 then
     begin
          MessageBox(0,'DLL nicht gefunden','kritischer Fehler',MB_OK or MB_ICONSTOP);
          Application.Terminate
     end
     else
     begin
          ....
          .....


---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
....Wozu ist es überhaupt notwendig, dass du per Parameter die DLL übergibst?


Nun es wird mehrere DLL's geben die auf verschiedene geräte verschieden zugreifen. Die funktionen in der DLL sind alle das gleich nur das abrufen der daten ist von verschieden geräten anderst.

So brauch ich bei neuen Geräten die dazukommen sollen nur eine andere DLL ( jetzt CLL ) erstellen und in das verzeichniss kopieren.

Das Programm bleibt unverändert.

Auch ein wechseln von geräten in der Software ist so möglich. Einfach DLL ( CLL ) entladen und die neue wieder laden.

Hoffe es verständlich ausgedrückt zu haben.
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: Di 09.03.10 14:41 
user profile iconHolg_i hat folgendes geschrieben Zum zitierten Posting springen:

Die DLL ist korrekt wie getippt es sind durch kopieren zwei genau gleich DLL mit nur zwei verschiedenen namen.
Benenne ich 1.dll um in jetztaber.dll habe ich das problem benenne ich sie wieder um in 1.dll oder a.dll geht alles.


Es grht nicht darum ob der Name der DLL korrekt ist, sondern ob deren Inhalt korrekt ist. Und daran habe ich im Moment starke Zweifel.

Solange der Code in der DLL nicht überprüft ist, kann man zum Verhalten deines Programms keine Aussagen mehr treffen.

Beste Grüße
Holg_i Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Di 09.03.10 15:15 
An der DLL kann es nicht liegen da es beide die gleichen dateien sind unter anderem ist die DLL nackt.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
library cstkom;

uses
  SysUtils,
  Classes,
  Windows,
  Messages,
  extctrls;


var
   KanalAnzahl: Integer;
   Einheit: String;
   MinSpeed: Integer;
   MaxSpeed: Integer;
   Nachkomma: Integer;
   Version: String;
   DeviceName: String;
   DeviceNummer: String;


function GetDLLName: Stringstdcall;
begin
   result:='DEMO';
end;


function GetEinheit: Stringstdcall;
begin
  result := Einheit;
end;


function GetKanalAnzahl: integer; stdcall;
begin
  result := KanalAnzahl;
end;


function SetTimerSpeed(Speed: Integer): Integer; stdcall;
begin
     result:=Speed;
end;

function TimerStart(Wert: Boolean): Boolean; stdcall;
begin
     result:=Wert;
end;


function GetTimerSpeed: Integer; stdcall;
begin
     result:=100;
end;

function GetTimer: Boolean; stdcall;
begin
     result:=True;
end;


function GetMinSpeed: Integer; stdcall;
begin
     result:=MinSpeed;
end;


function GetMaxSpeed: Integer; stdcall;
begin
     result:=MaxSpeed;
end;

function GetNachkomma: Integer; stdcall;
begin
     result:=Nachkomma;
end;

function GetVer: Stringstdcall;
begin
     result:=Version;
end;


function GetName: Stringstdcall;
begin
     result:=DeviceName;
end;


function GetDevice: Stringstdcall;
begin
     result:=DeviceNummer;
end;


exports
  GetKanalAnzahl,
  SetTimerSpeed,
  TimerStart,
  GetTimerSpeed,
  GetTimer,
  GetEinheit,
  GetMinSpeed,
  GetMaxSpeed,
  GetNachkomma,
  GetVer,
  GetName,
  GetDevice,
  GetDLLName;

begin
     // feste Werte wegen der Simulation müssen ausgelesen werden
     Kanalanzahl:=9;
     Einheit:='mm';
     MinSpeed:=1;
     MaxSpeed:=2000;
     Nachkomma:=3;
     Version:='V 3.08';
     DeviceName:='DEMO9';
     DeviceNummer:='H758BB3939';
     // feste Werte wegen der Simulation müssen ausgelesen werden
end.


Zuletzt bearbeitet von Holg_i am Di 09.03.10 15:21, insgesamt 1-mal bearbeitet
guinnes
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 182
Erhaltene Danke: 14



BeitragVerfasst: Di 09.03.10 15:20 
Warum liest eigentlich keiner, was im Kopf einer DLL als Kommentar steht (bzw. ignoriert es ):
Zitat:
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muß sich in der
ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
Strings als Parameter oder Funktionsergebnisse weitergibt. Dies trifft auf alle
Strings zu, die von oder zur DLL weitergegeben werden -- auch diejenigen, die
sich in Records oder Klassen befinden. ShareMem ist die Schnittstellen-Unit
zu BORLNDMM.DLL, der gemeinsamen Speicherverwaltung, die zusammen mit
der DLL weitergegeben werden muß. Um die Verwendung von BORLNDMM.DLL
zu vermeiden, sollten String-Informationen als PChar oder ShortString übergeben werden. }
Holg_i Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Di 09.03.10 15:26 
???? Jetzt stehe ich ganz auf dem Schlauch..... Wie kann ich das nun mit meinem Problem in verbindung bringen???
guinnes
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 182
Erhaltene Danke: 14



BeitragVerfasst: Di 09.03.10 15:32 
Ganz einfach : Du bringst die Speicherverwaltung von Delphi durcheinander.
Holg_i Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Di 09.03.10 15:39 
Ich könnte dir die Füsse küssen.... WO Wohnst du.... Dir ist mehr als ein Essen sicher.... meine fresse.... ist ja echt irre.... ich halte es nicht aus


ShortString

nicht String


das ding läuft.....

Das erkläre mir einer

ich bin echt hin und weg...

sche*** Internet hier kann man sich gar nicht richtig bedanken
Seniore
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 09.03.10 16:24 
siehste, geht doch ;)