Autor Beitrag
SchelmVomElm
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 154

W2K Pro
D5 Pro
BeitragVerfasst: Fr 07.11.08 12:18 
Hallo,

ich habe hier ein Problem, zu dem mir aber auch garnichts einfällt.
Ich habe ein Programm geschrieben, dass mit PlugIns auf Dll- Basis arbeitet.
Das Programm lief die ganze Zeit gut und wurde auch schon ausgiebig getestet.
Nun habe ich lediglich das Programm auf Englisch übersetzt (also string
Konstanten geändert) und plötzlich taucht ein Problem mit einer Prozedur
die ich dabei garnicht angefasst habe und die auch nicht auf diese
string konstanten zugreift.

Es passiert folgendes: Diese DLL Funktion

ausblenden Delphi-Quelltext
1:
2:
3:
4:
function ChannelInfo(index: integer): PChar;
begin
   Result := PChar(InstName + ';Pt1000;-99.9;550;0;0;4;4;°C;0.0');
end;


sendet immer korrekt : "Gerätename;Pt1000;-99.9;550;0;0;4;4;°C;0.0"

Die Funktion im Hauptprogramm:

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:
type
  TInfoIndexFunction = function(index: integer): PChar;

procedure TMainForm.ChannelInfo(index: integer);
var
  DllFx: TInfoIndexFunction;
  TmpStr: string;
  SplitList: TStrings;
  RegIni: TRegIniFile;
const
  FxName = 'ChannelInfo';
begin
  if PlugHandle <> 0 then
  begin
    @DllFx := GetProcAddress(PlugHandle, PChar(FxName));
    if @DllFx <> nil then
    begin
      TmpStr := string(DllFx(index)); 
      SplitList := TStringList.Create; //Hier setze ich Haltepunkt und schau mir TmpStr an
      SplitStr(TmpStr,';',SplitList);
... Liste abklappern
end;


Diese Funktion empfängt, läuft das Programm auf Deutsch den PChar korrekt und
läuft das Programm auf Englisch empfängt sie:

"Gerätename;Pt1000;-99.9;550;0;0;4;4;°C;8"

ändere ich die DLL Funktion so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
function ChannelInfo(index: integer): PChar;
begin
   Result := PChar(InstName + ';Pt1000;-99.9;550;0;0;4;4;°C;0.0;BugFix');
end;


wird immer empfangen:
"Gerätename;Pt1000;-99.9;550;0;0;4;4;°C;0.0;BugFix"

:nixweiss:

An was könnte das liegen?
Ein Bug in Delphi 2005?

_________________
for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 07.11.08 12:32