was man so erlebt beim migrieren von Clipper nach Xbase++

Auf dem Weg von Clipper, FoxPro u.ä. nach Xbase++

Moderator: Moderatoren

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 13083
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Beitrag von Jan » Mo, 14. Apr 2008 9:31

Hallo,

ich kann Manfred da nur unterstützen: Die meisten Funktionen in der Fehlermeldung sind keine original Clipper- oder Tools-Funktionen. Das ist selbstgestrickt. Irgendwo müssen die also noch sein. Wenn nicht in den prg, gab es da vielleicht eine selbstgestrickte lib? Sowas hab ich damals auch gerne gemacht: Alle Standardfunktionen von mir rein in eine lib.

Und ebenfalls wie Manfred sagte: Die ganzen Netware-Funktionen sind heute absolut überflüssig. Die können normalerweise mit Stumpf und Stiel raus.

Zum Zeitaufwand: Du sagst, der 1 Tag für die Funktionssuche wäre zu teuer. Vertue Dich da nicht. Wenn das ganze Programm mit 50 prg auf GUI umgeschrieben werden muß, dann ist der 1 Tag garnichts. Den solltest Du ohnehin investieren, um gleich zu Beginn für Dich selber eine klare Struktur reinzubekommen.

Jan

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 18048
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Beitrag von Manfred » Mo, 14. Apr 2008 9:35

Hi,

leider: Mal eben kurz.... Den Zahn habe ich mir auch nach und nach ziehen lassen. Aber ich kann Dir hier und heute eins versichern: Es kostet zwar Nerven, aber es ist ungemein interessant und macht wirklich Spaß, so eine Umstellung (egal wie sie aussehen mag) zu machen. Ich spreche hier wirklich aus Erfahrung. (und die anderen Helferlein hier auch :lol:) Wobei ich auch ehrlich bin, neu machen ist sicherlich besser. Das was es können muß, weißt Du ja und dass ist ein ungemeiner Vorteil.
Zuletzt geändert von Manfred am Mo, 14. Apr 2008 9:36, insgesamt 1-mal geändert.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11426
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Output von pbuild

Beitrag von AUGE_OHR » Mo, 14. Apr 2008 9:36

hi,
crikos hat geschrieben: Leider gibt es zu dem Programmpaket keine Dokumentation,
der Entwickler dieser Programme ist nicht mehr erreichbar.
Also die Tools reichen da sicherlich nicht denn da sind ja etliche "eigene"
Funktionen drin. Es fehlt definitive "etwas" vermutlich eine LIB.

gibt es vielleicht eine *.LNK Datei beim Source ?

gruss by OHR
Jimmy
gruss by OHR
Jimmy

crikos
Rookie
Rookie
Beiträge: 10
Registriert: So, 13. Apr 2008 17:08

Beitrag von crikos » Mo, 14. Apr 2008 9:49

Also CriKos ist eine Abkürzung für meinen Vor- und Nachnamen (die sind zusammen ziemlich lang) - im richtigen Leben nennen mich alle Chris.
Zu den anderen Punkten:
- das Projektfile habe ich mit dem /g Schalter von pBuild erstellt.
- ich habe alle Programme einzeln kompiliert und die dort aufgetretenen Fehler ausgebessert (da gibt es in diesem Forum ja viel zu lesen, z.B. über Deklarationen etc.)
- Beim Compilieren tauchen definitiv keine Fehlermeldungen mehr auf und es gibt definitiv keine weiteren Dateien. Meine Vermutung dazu ist, daß da schlicht und ergreifend einfach was fehlt. Und das ist auch der Punkt den ich mit Risiko bezeichne. Selbst wenn ich nun genau weiß, welche Funktionen durch ToolsIII abgedeckt sind, dann bleiben noch weitere Funktionen über. Ich habe auch schon mal eine kleine Übersicht gemacht, welche Funktionen wahrscheinlich manuell von irgendwo anders herkommen (ich habe hierzu einfach den Namen der Funktion herangezogen) - und das sind doch einige. Der eigentliche Entwickler ist nicht mehr greifbar und ich habe vor ca. 20 Jahren das letzte Mal ein Clipper Programm kompiliert.
Dank Eurer Hilfe und was ich sonst noch alles zu diesem Thema lesen konnte, scheint mir das Risiko zu hoch, hier einfach weiterzumachen. Außerdem gibt es ja viele Meinungen in diesem Forum, die in Richtung Neuentwicklung deuten. Da stellt sich natürlich dann auch gleich die Frage nach der Entwicklungsplattform - und hier bin ich definitiv derzeit woanders unterwegs, also macht das für mich keinen großen Sinn.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14549
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Beitrag von brandelh » Mo, 14. Apr 2008 9:51

crikos hat geschrieben:Der Hintergrund ist etwas kurios, tut aber nichts zur Sache. Der Kunde möchte bzw. muss das alte Clipper Programm mit einer graphischen Oberfläche ausstatten.
Etwas Hintergrundwissen (auch zu deiner Person und Programmiererfahrung) könnte es uns erleichtern aus der Erfahrung heraus Tipps zu geben, was geht und was nicht.
crikos hat geschrieben:Der Kunde möchte bzw. muss das alte Clipper Programm mit einer graphischen Oberfläche ausstatten.
Wer muss, muss auch zahlen ;-) ... jetzt im Ernst, meist ist es sinnvoller zu erfragen was der Kunde heute braucht, Windows GUI und DOS Clipper sind sehr verschieden. Manchmal weiß der Kunde auch nicht was wer braucht ...
crikos hat geschrieben:Ob ich nun 500 EUR für diese ToolsIII bezahle oder eben 1 Tag lang die Linker-Fehler analysiere, kommt ungefähr aufs gleiche raus. Unterm Strich ist die Wahrscheinlichkeit erfolgreich zu sein nicht so groß
An EINEM Tag ist das weder mit noch ohne die Tools zu machen, da oben einige Funktionen aufgeführt sind, die definitiv nicht in den XbToolsIII enthalten sind. Auch wenn alle drinn wären, wäre das Ergebnis noch keine GUI !
crikos hat geschrieben: das Risiko bleibt bei mir, deshalb lieber ein rechtzeitiger Ausstieg, als ein Schrecken ohne Ende.
Ohne ein detailiertes Pflichtenheft einen FIX-Preis zu vereinbaren, ist wahrlich ein Schrecken ohne Ende ... :!:
Gruß
Hubert

Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1855
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Kontaktdaten:

Beitrag von Rolf Ramacher » Mo, 14. Apr 2008 12:15

Hi Chris,

ich kann den Hinweis von Hubert nur unterstürzen. Analisiere erst einmal was überhaupt genau benötigt wird. Dann machst du dir Gedanken darüber, wie du es umsetzen kannst.

Bei der Hilfe welche Tools du aus Xbase++ benötigst/gebrauchen kannst,
wirst du hier eine Menge Hilfe finden.

Aber ohne ein Pflichtenheft wirst du nicht viele Chancen haben. Das kann ich dir aus eigener Erfahrung sagen.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11426
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Output von pbuild

Beitrag von AUGE_OHR » Di, 15. Apr 2008 2:19

hi,
crikos hat geschrieben: das sind die meldungen des Linkers:

Code: Alles auswählen

alink @c:\temp\04141493.tmp
Alaska 32-Bit Linker Version 1.90.331
Copyright (c) Alaska Software 1997-2006. All rights reserved.

IPOH.obj: error ALK2102: unresolved external symbol MYERROR
...
ALINK: fatal error ALK4102: 474 external symbols unresolved
gab es vielleicht irgendwelche *.OVL im original Programm Verzeichniss ?
gruss by OHR
Jimmy

crikos
Rookie
Rookie
Beiträge: 10
Registriert: So, 13. Apr 2008 17:08

OVL dateien im Original Verzeichnis

Beitrag von crikos » Di, 15. Apr 2008 7:56

Weiß ich nicht, weil ich das gesamte Material als Zipdatei bekommen habe und keinen Zugriff auf das Originalverzeichnis des Entwicklers habe.

Grüße

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11426
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Beitrag von AUGE_OHR » Mi, 16. Apr 2008 1:31

hi,

wenn der Entwickler für den Kunden mehrer Applicationen in Cl*pper
erstellt hat ist es auch möglich das er *.PLL Dateien benutzt hat.

wenn ich mir so die fehlenden Functionnamen ansehe wie "weiter" oder
"ok" oder auch die "PRN..." dann hab ich das Gefühl das dies "allgemeine"
Functions sind welche der Entwickler für mehere Applicationen verwenden
könnte. Ich habe sowas damals auch als *.PLL ausgeliefert.

Du solltest einfach mal beim Kunden nach *.PRG / *.DBF "suchen" um
zu sehen ob es vielleicht noch andere Verzeichnisse gibt die "dazu" gehören.
gruss by OHR
Jimmy

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14549
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Beitrag von brandelh » Mi, 16. Apr 2008 9:06

Hi,

oder aber er hat vorkompilierte OBJ Dateien mitgelinkt, oder sich eine eigene LIB aus OBJ gebaut. Auf jeden Fall fehlt der Quellcode.
Gruß
Hubert

UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2532
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Kontaktdaten:

Beitrag von UliTs » Mi, 16. Apr 2008 9:31

Hallo Chris,

ist das alte Clipperprogramm noch im Einsatz?

Uli

P.S.
Ich bin übrigens nicht der Meinung, das Neuschreiben grundsätzlich der beste Weg ist. Wenn man es einmal geschafft hat, das Programm mit XBase im Textmodus zum laufen zu bringen, ist der Aufwand, es mit Hilfe des Hybridmodus mit Mausunterstützung, Copy and Paste, grafischer Druckvorschau, Windowsdruckern etc. auszustatten, gar nicht so hoch. :)

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11426
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Beitrag von AUGE_OHR » Mi, 16. Apr 2008 10:25

hi,
UliTs hat geschrieben: Ich bin übrigens nicht der Meinung, das Neuschreiben grundsätzlich der beste Weg ist. Wenn man es einmal geschafft hat, das Programm mit XBase im Textmodus zum laufen zu bringen, ist der Aufwand, es mit Hilfe des Hybridmodus mit Mausunterstützung, Copy and Paste, grafischer Druckvorschau, Windowsdruckern etc. auszustatten, gar nicht so hoch. :)
naja das kommt nun auch wiederum auf den Source an. Wenn man viel
Masken / Printlisten hat dauert die Umstellung erheblich länger. Die Logic
kann man auch nicht unbedingt übernehmen den die neuen Möglichkeiten
(MDI, XbParts) lassen ja völlig andere Masken und Konzepte zu.

Wenn man also nur seinen Cl*pper Code schnell nach Xbase++ portieren
will reicht Hybrid völlig aus und man kann mit #IFDEF __XPP__ auch den
Code noch Cl*pper compatible halten (wenn man den weiterhin pflegen
will).

Unter GUI hat man schonmal "mehr Platz" für Masken denn bei 80x25 war
die Maske meistens ziemlich schnell voll (und unübersichtlich).
Wenn man mit dem Formdesigner anfängt Masken / Code zu produzieren
hat man ja schon einen grossen Teil der Arbeit erledigt.

Für die Drucke habe ich nun die Report Generatoren "entdeckt" womit sich
mit wenigen Zeilen Code ordendliche Ergebnisse erzielen lassen.
(klar man muss lernen den "Designer" zu bedienen, aber auch User
"könnten" mittels "Designer" änderrungen bei sich vornehmen)

um den weiteren Xbase++ Weg Hybrid->GUI besser in Griff zu bekommen
habe ich in der Wissensbasis eine Thread über DLLs angelegt. Mit der
Methode kann man sogar seine Arbeit "sehen" ( Anteil GUI/Hybrid ) bis
du dann nur noch eine GUI.DLL hast. :)
gruss by OHR
Jimmy

Benutzeravatar
FlashNash
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 101
Registriert: Di, 22. Jul 2008 15:39
Wohnort: RE - NRW
Kontaktdaten:

Beitrag von FlashNash » Mo, 28. Jul 2008 14:52

@Jimmy
Habe in diesem Thread alle Deine Ausführungen gelesen und wird mir sicher hier und dort weiter helfen.

Mein Nexus Office hat so an die 300 PRG Files ... LOL, da kommt noch was auf mich zu. Ich ´liebe Ochsentouren´.... man hat ja sonst nix zu tun. :D :D
Gruß Rolf
Admin of www.Ruhrpottboard.de

phonix
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 37
Registriert: Sa, 11. Jul 2009 22:30
Wohnort: germany-hamburg
Kontaktdaten:

Re: was man so erlebt beim migrieren von Clipper nach Xbase++

Beitrag von phonix » Mo, 13. Jul 2009 4:17

Ich bin den ganzen ärger aus dem weg gegangen indem ich einfach weiter
clipper s87 geschrieben hab ,und die udfs auf 80x86 erweitert hab,läuft auch
unter ntfs.
ausserdem fallen die fehlermeldungen günstiger aus etwa :
<[me/e]>ine Clipper Schutzverletzung Error in Proc ... windows neu starten ?
frank

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 14549
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: was man so erlebt beim migrieren von Clipper nach Xbase+

Beitrag von brandelh » So, 30. Jan 2011 14:25

Hi,

ich habe gerade nach IsDir() gesucht, da ich dachte ich hätte meine Funktion
hier hinterlegt. Diese musste ich jetzt nachbessern ;-)

Code: Alles auswählen

// Diese Funktion funktioniert
function IsDir(cDirName)  // keine Wildcards erwünscht
   cDirName := strTran(cDirName,"?",chr(255))
   cDirName := strTran(cDirName,"*",chr(255)+chr(255))
return File(cDirName, "D")
? IsDir("c:\") -> .t. == OK
? IsDir("c:\temp") -> .t. == OK
? IsDir("c:\temp\") -> .t. == OK
? IsDir("c:\t*p") -> .f. == OK, denn das will ich nicht ;-)

Ich nutze hier die 1.90.355 - file(cDir,"D") - dieses würde aber auch bei Wildcards .t. ergeben, das will ich nicht.
Gruß
Hubert

Antworten