Ungereimtheit in der Sprachübersetzung

Alles, was den Programmierer beschäftigt

Moderator: SYNERPY

Antworten
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Ungereimtheit in der Sprachübersetzung

Beitrag von festus01 »

Hallo,

ich bin da über eine Ungereimtheit in der Sprachübersetzung gestolpert :?

In dem Scriptpaket von der Downloadseite gibt es unter anderem das Script
zum Einspielen der Sprachübersetzung mit neuer Struktur und Logik.

Nach Einspielen des Scriptes soll eigentlich nur noch die neue Übersetzung
benutzt werden wodurch die Tabelle A_STRA, A_STRA_KAT und einige andere Prozeduren gelöscht werden könnten.

Macht man das wirklich hat man ein Problem:

Es können keine Drucke mehr erstellt werden. Gut für die Umwelt, schlecht für das Unternehmen.

Die Ursache liegt in der Unit clSM, dort steht unter anderem:

Code: Alles auswählen

constructor TSM.Create(aOwner : TComponent);
begin
   FQSelect := TIB_Query.Create(aOwner);
   FQSelect.IB_Connection := frmData.IB_Connection1;
   FQSelect.SQL.Add('select * from P_SMSelect( :Sprache_ID, ' +
                                              ':OwnerName,  ' +
                                              ':CompName,   ' +
                                              ':StraKatID)  ' );

   FQInsert := TIB_Query.Create(aOwner);
   FQInsert.IB_Connection := frmData.IB_Connection1;
   FQInsert.SQL.Add('Execute Procedure P_SMInsert( :Sprache_ID, ' +
                                                  ':Strakat_ID, ' +
                                                  ':OwnerName , ' +
                                                  ':MaskenKey , ' +
                                                  ':Dynamisch , ' +
                                                  ':PropValue ) ' );

   FQDelete := TIB_Query.Create(aOwner);
   FQDelete.IB_Connection := frmData.IB_Connection1;
   FQDelete.SQL.Add('Execute Procedure P_SMDelete( :OwnerName , ' +
                                                  ':MaskenKey , ' +
                                                  ':Sprache_ID) ' );
end;
Die Prozeduren P_SMSelect, P_SMInsert und P_SMDelete greifen wiederum auf die Tabelle A_STRA zurück.
Somit wird die neue Logik nicht konsequent genutzt und die redundanten Tabellen können nicht gelöscht werden.

Eine Redundanz wie sie im Lehrbuch steht. 8)

Als Lösung würden sich anbieten die betroffenen Prozeduren oder die Unit entsprechend anzupassen, wobei ich ersteres vorziehen würde.

Was meint der Meister dazu :)
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
SYN17
Beiträge: 79
Registriert: Do Feb 16, 2006 8:10 am

RE

Beitrag von SYN17 »

Die Sprachüberseztung funktioniert problemlos.
Haben Sie auch alle EXE-Dateien ausgetauscht ?
Wir haben das neue Sprachmodul seit mehreren Monaten bei Kunden im Einsatz.
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Re: RE

Beitrag von festus01 »

Hallo SYN12,
SYN17 hat geschrieben:Die Sprachüberseztung funktioniert problemlos.
Haben Sie auch alle EXE-Dateien ausgetauscht ?
Wir haben das neue Sprachmodul seit mehreren Monaten bei Kunden im Einsatz.
Darum geht es nicht.

Es funktioniert alles einwandfrei.

Es geht um die Redundanz der Tabellen.
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
SYN17
Beiträge: 79
Registriert: Do Feb 16, 2006 8:10 am

RE

Beitrag von SYN17 »

Sie haben recht. Es ist ein unnötiger Aufruf auf die alte Übersetzungen ohne Prüfung vorhanden. in fDBasis im Ereignis BtnOKClick ist der Aufruf
"frmdata.FTSM.TransRep(Self,frReport1,Frmdata.nSprache);" unnötig.

Danke !
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Re: RE

Beitrag von festus01 »

Hallo SYN17,
SYN17 hat geschrieben: snipp ----
in fDBasis im Ereignis BtnOKClick ist der Aufruf
"frmdata.FTSM.TransRep(Self,frReport1,Frmdata.nSprache);" unnötig.
Was heisst das genau :?:
Kann dieser Aufruf aus dem onClick Ereignis gelöscht werden bzw. wird der Quelltext entsprechend abgeändert :?:

Könnte dann nicht außerdem der Constructor TSM.Create komplett raus

Grund ist natürlich das ich mit meiner EXE Datei so nah wie Möglich am Original bleiben möchte. :?:
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Re: Ungereimtheit in der Sprachübersetzung

Beitrag von festus01 »

Hallo,

ich wollte diese Thema noch einmal aufgreifen,

leider ist in der aktuellen Version von AvERP immer noch dieser unnötige Constructor vorhanden.

Wird da noch dran gearbeitet :?:
festus01 hat geschrieben:Hallo,

ich bin da über eine Ungereimtheit in der Sprachübersetzung gestolpert :?

In dem Scriptpaket von der Downloadseite gibt es unter anderem das Script
zum Einspielen der Sprachübersetzung mit neuer Struktur und Logik.

Nach Einspielen des Scriptes soll eigentlich nur noch die neue Übersetzung
benutzt werden wodurch die Tabelle A_STRA, A_STRA_KAT und einige andere Prozeduren gelöscht werden könnten.

Macht man das wirklich hat man ein Problem:

Es können keine Drucke mehr erstellt werden. Gut für die Umwelt, schlecht für das Unternehmen.

Die Ursache liegt in der Unit clSM, dort steht unter anderem:

Code: Alles auswählen

constructor TSM.Create(aOwner : TComponent);
begin
   FQSelect := TIB_Query.Create(aOwner);
   FQSelect.IB_Connection := frmData.IB_Connection1;
   FQSelect.SQL.Add('select * from P_SMSelect( :Sprache_ID, ' +
                                              ':OwnerName,  ' +
                                              ':CompName,   ' +
                                              ':StraKatID)  ' );

   FQInsert := TIB_Query.Create(aOwner);
   FQInsert.IB_Connection := frmData.IB_Connection1;
   FQInsert.SQL.Add('Execute Procedure P_SMInsert( :Sprache_ID, ' +
                                                  ':Strakat_ID, ' +
                                                  ':OwnerName , ' +
                                                  ':MaskenKey , ' +
                                                  ':Dynamisch , ' +
                                                  ':PropValue ) ' );

   FQDelete := TIB_Query.Create(aOwner);
   FQDelete.IB_Connection := frmData.IB_Connection1;
   FQDelete.SQL.Add('Execute Procedure P_SMDelete( :OwnerName , ' +
                                                  ':MaskenKey , ' +
                                                  ':Sprache_ID) ' );
end;
Die Prozeduren P_SMSelect, P_SMInsert und P_SMDelete greifen wiederum auf die Tabelle A_STRA zurück.
Somit wird die neue Logik nicht konsequent genutzt und die redundanten Tabellen können nicht gelöscht werden.

Eine Redundanz wie sie im Lehrbuch steht. 8)

Als Lösung würden sich anbieten die betroffenen Prozeduren oder die Unit entsprechend anzupassen, wobei ich ersteres vorziehen würde.

Was meint der Meister dazu :)
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
SYN17
Beiträge: 79
Registriert: Do Feb 16, 2006 8:10 am

RE

Beitrag von SYN17 »

Die Funktionsaufrufe in der AvERP.EXE müssen erhalten bleiben, da AvERP auch abwärtskompatible bleiben muss und die alte Übersetzungslogik weiterhin unterstützt.

Sie können aber die entsprechenden Proceduren aus der Datenbank entfernen. In der Datenbank aus dem Downloadbereich sind diese Proceduren schon seit einiger Zeit entfernt worden.
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Re: RE

Beitrag von festus01 »

Hallo SYN17
SYN17 hat geschrieben: Sie können aber die entsprechenden Proceduren aus der Datenbank entfernen. In der Datenbank aus dem Downloadbereich sind diese Proceduren schon seit einiger Zeit entfernt worden.
OK, vielen Dank. Ich hatte noch eine ältere AvERP.EXE im Kopf bei der es nicht möglich war, die Proceduren in der Datenbank zu löschen.

In der aktuellen Version wird ja die Sprachübersetzung abgefragt und entsprechend verzweigt.
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
Antworten