|
| Lille Delphi-compiler eller C++ integratio~ Fra : Johan Andersen |
Dato : 13-09-05 13:11 |
|
Findes der en lille gratis compiler, der er kompatibel med Borlands
Delphi?
Jeg prøvede at installere en compiler fra freepascal.org, som skulle
være kompatibel med Delphi, men den mangler en del rpm-pakker, så det
blev opgivet. Jeg har en gammel Redhat 5.2, som jeg har opgivet at
opgradere. Med kun 16 MB RAM og en 100 MHz Pentium kan man ikke bare
opgradere til seneste version af alle pakker.
Så derfor mit spørgsmål, om der findes en lille kompiler til Delphi,
uden for meget grafik etc.
Hvis der ikke findes en Delphi-kompiler, jeg kan proppe ned på min gamle
Linux-boks, overvejede jeg, om man kan skrive en program-stump i C++ og
integrere det med et Delphi-program? F.eks. kompilere C++ koden og linke
objekt-filen ind i et Delphi-program?
Jeg mindes engang at have linket et C-objekt til C++, ved at erklære de
prekompilerede C-funktioner i C++ koden med "extern funktion(...)" eller
noget i den stil.
Mvh
Johan
| |
Martin Schultz (13-09-2005)
| Kommentar Fra : Martin Schultz |
Dato : 13-09-05 18:18 |
|
Johan Andersen <REMOVEusenetNOSPAM@stofanet.dk> skrev 2005-09-13:
> Findes der en lille gratis compiler, der er kompatibel med Borlands
> Delphi?
Kylix er Borland Delphi og C++ til linux. Den findes i en personlig
udgave der er gratis til ikke comercielt brug.
Martin
--
Besøg http://www.adsltips.dk for guider til
ADSL og opsætning af Cisco/Zyxel/Aethra routere.
Alt jeg skriver på usenet er mine egne personlige meninger
med mindre andet er angivet.
| |
Johan Andersen (13-09-2005)
| Kommentar Fra : Johan Andersen |
Dato : 13-09-05 19:50 |
|
Martin Schultz wrote:
>
> Johan Andersen <REMOVEusenetNOSPAM@stofanet.dk> skrev 2005-09-13:
> > Findes der en lille gratis compiler, der er kompatibel med Borlands
> > Delphi?
>
> Kylix er Borland Delphi og C++ til linux. Den findes i en personlig
> udgave der er gratis til ikke comercielt brug.
Jo, den ville sikkert være fin, men fylder 90 MB, så den opgav jeg på
forhånd. Jeg tør ikke tænke på, hvor mange dependencies jeg render ind i
med den...
Den kan i øvrigt hentes på
http://www.borland.com/products/downloads/download_kylix.html
efter at man har registreret sig.
Desværre har Borland efter sigende stoppet al udvikling af Kylix -
sikkert i 2002, som er datoen for den seneste version (3.0).
Kan man frit mixe Delphi og C++ i Kylix?
Hvordan kobles de to sprog sammen?
Det kan være, den eneste løsning er en ny PC.
Mvh
Johan
| |
Thorbjoern Ravn Ande~ (13-09-2005)
| Kommentar Fra : Thorbjoern Ravn Ande~ |
Dato : 13-09-05 20:39 |
|
Johan Andersen <REMOVEusenetNOSPAM@stofanet.dk> writes:
> Desværre har Borland efter sigende stoppet al udvikling af Kylix -
> sikkert i 2002, som er datoen for den seneste version (3.0).
Måske er det tiden - når du har løst dit aktuelle problem - at lære et
platformuafhængigt programmeringssprog?
Eksempler kunne være python, java eller C# (ved at bruge mono).
--
Thorbjørn Ravn Andersen
| |
Johan Andersen (14-09-2005)
| Kommentar Fra : Johan Andersen |
Dato : 14-09-05 13:31 |
|
Thorbjoern Ravn Andersen wrote:
>
> Johan Andersen <REMOVEusenetNOSPAM@stofanet.dk> writes:
>
> > Desværre har Borland efter sigende stoppet al udvikling af Kylix -
> > sikkert i 2002, som er datoen for den seneste version (3.0).
>
> Måske er det tiden - når du har løst dit aktuelle problem - at lære et
> platformuafhængigt programmeringssprog?
>
> Eksempler kunne være python, java eller C# (ved at bruge mono).
He, he, en del af formålet var faktisk at lære lidt Delphi.
Jeg har programmeret en hel del C++, og det kan da bruges på de fleste
platforme.
Men jeg kan godt støtte op omkring, at software helst skal være
platform-uafhængig.
Mvh
Johan
| |
Martin Schultz (14-09-2005)
| Kommentar Fra : Martin Schultz |
Dato : 14-09-05 12:58 |
|
Johan Andersen <REMOVEusenetNOSPAM@stofanet.dk> skrev 2005-09-13:
[snip]
> Kan man frit mixe Delphi og C++ i Kylix?
Det ved jeg ikke. Jeg har ikke rørt kylix i mange år (Jeg lavede et
lille program da den kom ud som en test, intet siden).
> Hvordan kobles de to sprog sammen?
I kylix ved jeg ikke. I C++ builder under windows kan man næstent frit
benytte delphi komponenter og .pas filer i sit c++ projekt.
Martin
--
Besøg http://www.adsltips.dk for guider til
ADSL og opsætning af Cisco/Zyxel/Aethra routere.
Alt jeg skriver på usenet er mine egne personlige meninger
med mindre andet er angivet.
| |
Johan Andersen (14-09-2005)
| Kommentar Fra : Johan Andersen |
Dato : 14-09-05 13:24 |
|
Martin Schultz wrote:
>
> Johan Andersen <REMOVEusenetNOSPAM@stofanet.dk> skrev 2005-09-13:
> [snip]
> > Hvordan kobles de to sprog sammen?
>
> I kylix ved jeg ikke. I C++ builder under windows kan man næstent frit
> benytte delphi komponenter og .pas filer i sit c++ projekt.
Gælder det også omvendt at .cc/.h-filer kan benyttes i Delphi builder
under Windows? (Der er vel kun Borland?)
Jeg sidder på en Linux-maskine, men i givet fald skulle det inkluderes i
Delphi på Windows. (Jeg kunne i øvrigt heller få gcc installeret, så den
virker... øv! )
Mvh
Johan
| |
Martin Schultz (14-09-2005)
| Kommentar Fra : Martin Schultz |
Dato : 14-09-05 13:36 |
|
Johan Andersen <REMOVEusenetNOSPAM@stofanet.dk> skrev 2005-09-14:
> Martin Schultz wrote:
>>
>> Johan Andersen <REMOVEusenetNOSPAM@stofanet.dk> skrev 2005-09-13:
>> [snip]
>> > Hvordan kobles de to sprog sammen?
>>
>> I kylix ved jeg ikke. I C++ builder under windows kan man næstent frit
>> benytte delphi komponenter og .pas filer i sit c++ projekt.
>
> Gælder det også omvendt at .cc/.h-filer kan benyttes i Delphi builder
> under Windows? (Der er vel kun Borland?)
Det ved jeg desværre ikke. Det er mange år siden jeg har lavet noget i
delphi.
Martin
--
Besøg http://www.adsltips.dk for guider til
ADSL og opsætning af Cisco/Zyxel/Aethra routere.
Alt jeg skriver på usenet er mine egne personlige meninger
med mindre andet er angivet.
| |
Kasper Dupont (14-09-2005)
| Kommentar Fra : Kasper Dupont |
Dato : 14-09-05 09:54 |
|
Martin Schultz wrote:
>
> Johan Andersen <REMOVEusenetNOSPAM@stofanet.dk> skrev 2005-09-13:
> > Findes der en lille gratis compiler, der er kompatibel med Borlands
> > Delphi?
>
> Kylix er Borland Delphi og C++ til linux. Den findes i en personlig
> udgave der er gratis til ikke comercielt brug.
Er den ikke gratis at bruge så længe de programmer du udvikler
med den er GPL licenseret? Så vidt jeg erindrer valgte Borland
at frigive den gratis udgave med libraries under GPL licens,
således at de programmer man udvikler er tvunget til at være
GPL licenseret, da de skal linkes med GPL libraries.
--
Kasper Dupont
Note to self: Don't try to allocate
256000 pages with GFP_KERNEL on x86.
| |
Jørn Hundebøll (13-09-2005)
| Kommentar Fra : Jørn Hundebøll |
Dato : 13-09-05 19:48 |
|
Johan Andersen wrote:
> Findes der en lille gratis compiler, der er kompatibel med Borlands
> Delphi?
>
> Jeg prøvede at installere en compiler fra freepascal.org, som skulle
> være kompatibel med Delphi, men den mangler en del rpm-pakker, så det
> blev opgivet. Jeg har en gammel Redhat 5.2, som jeg har opgivet at
> opgradere. Med kun 16 MB RAM og en 100 MHz Pentium kan man ikke bare
> opgradere til seneste version af alle pakker.
> Så derfor mit spørgsmål, om der findes en lille kompiler til Delphi,
> uden for meget grafik etc.
For nogle ganske få hundrede kroner burde du i dag være i stand til at
købe en brugt 500 MHz maskine med 128 MB RAM. Det giver dig bedre
muligheder for at afvikle X og Kylix (se andet svar). Din maskine er
efter min mening for svag til praktisk anvendelse i dag. Som firewall
eller mailserver - ok, men som udviklingsmaskine er den ikke god nok.
Jørn
| |
Johan Andersen (13-09-2005)
| Kommentar Fra : Johan Andersen |
Dato : 13-09-05 19:58 |
|
Jørn Hundebøll wrote:
>
> For nogle ganske få hundrede kroner burde du i dag være i stand til at
> købe en brugt 500 MHz maskine med 128 MB RAM. Det giver dig bedre
> muligheder for at afvikle X og Kylix (se andet svar). Din maskine er
> efter min mening for svag til praktisk anvendelse i dag. Som firewall
> eller mailserver - ok, men som udviklingsmaskine er den ikke god nok.
Du har helt ret. Og jeg har da også planer om at købe en ny PC.
Men jeg stod lige akkut og havde brug for enten at lave et lille program
i Delphi. Eller næstbedst at skrive det i C++, hvis det kan kobles på et
eksisterende Delphi-program. Sidste løsning er et stand-alone C++
program, der snakker med Delphi-programmet via en fil. Jeg vil lige
prøve at installere en g++ og se, om det virker uden at jeg skal
opgradere alt muligt.
Mvh
Johan
| |
Michael Rasmussen (13-09-2005)
| Kommentar Fra : Michael Rasmussen |
Dato : 13-09-05 20:05 |
|
On Tue, 13 Sep 2005 20:57:35 +0200, Johan Andersen wrote:
> Du har helt ret. Og jeg har da også planer om at købe en ny PC.
> Men jeg stod lige akkut og havde brug for enten at lave et lille program
> i Delphi. Eller næstbedst at skrive det i C++, hvis det kan kobles på et
> eksisterende Delphi-program. Sidste løsning er et stand-alone C++
> program, der snakker med Delphi-programmet via en fil.
C++ og Delphi (Pascal) er ikke nogen helt triviel operation.
Hvis du skal koble Delphi og C++ sammen, tror jeg, det nemmeste er at lade
dem kommunikere gennem en socket. Kommunikation gennem fil er ikke
optimalt.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Johan Andersen (14-09-2005)
| Kommentar Fra : Johan Andersen |
Dato : 14-09-05 13:29 |
|
Michael Rasmussen wrote:
>
> On Tue, 13 Sep 2005 20:57:35 +0200, Johan Andersen wrote:
>
> > Du har helt ret. Og jeg har da også planer om at købe en ny PC.
> > Men jeg stod lige akkut og havde brug for enten at lave et lille program
> > i Delphi. Eller næstbedst at skrive det i C++, hvis det kan kobles på et
> > eksisterende Delphi-program. Sidste løsning er et stand-alone C++
> > program, der snakker med Delphi-programmet via en fil.
> C++ og Delphi (Pascal) er ikke nogen helt triviel operation.
> Hvis du skal koble Delphi og C++ sammen, tror jeg, det nemmeste er at lade
> dem kommunikere gennem en socket. Kommunikation gennem fil er ikke
> optimalt.
Med "kommunikere" mente jeg blot at man kører det ene program, som
skriver til en datafil (et 3D-objekt), hvorefter man kører det andet
program, som læser datafilen, etc.
Mvh
Johan
| |
Christian Iversen (14-09-2005)
| Kommentar Fra : Christian Iversen |
Dato : 14-09-05 15:15 |
|
Michael Rasmussen wrote:
> On Tue, 13 Sep 2005 20:57:35 +0200, Johan Andersen wrote:
>
>> Du har helt ret. Og jeg har da også planer om at købe en ny PC.
>> Men jeg stod lige akkut og havde brug for enten at lave et lille program
>> i Delphi. Eller næstbedst at skrive det i C++, hvis det kan kobles på et
>> eksisterende Delphi-program. Sidste løsning er et stand-alone C++
>> program, der snakker med Delphi-programmet via en fil.
> C++ og Delphi (Pascal) er ikke nogen helt triviel operation.
> Hvis du skal koble Delphi og C++ sammen, tror jeg, det nemmeste er at lade
> dem kommunikere gennem en socket. Kommunikation gennem fil er ikke
> optimalt.
Hvorfor skulle det dog være sværere end med andre programmeringssprog?
--
M.V.H
Christian Iversen
| |
Michael Rasmussen (14-09-2005)
| Kommentar Fra : Michael Rasmussen |
Dato : 14-09-05 16:39 |
| | |
Christian Iversen (14-09-2005)
| Kommentar Fra : Christian Iversen |
Dato : 14-09-05 18:22 |
|
Michael Rasmussen wrote:
> On Wed, 14 Sep 2005 16:14:54 +0200, Christian Iversen wrote:
>
>>
>> Hvorfor skulle det dog være sværere end med andre programmeringssprog?
> Siger begreberne pascal stringe og C stringe dig noget?
Det siger mig en del, ja. Hvad er problemet?
--
M.V.H
Christian Iversen
| |
Michael Rasmussen (14-09-2005)
| Kommentar Fra : Michael Rasmussen |
Dato : 14-09-05 19:16 |
|
On Wed, 14 Sep 2005 19:21:58 +0200, Christian Iversen wrote:
>
> Det siger mig en del, ja. Hvad er problemet?
De er ikke umiddelbart kompatible.
Endvidere håndteres returværdier fra funktioner forskelligt. Funktioner
i Pascal og C gemmes forskelligt på stakken, hvorfor man vil skulle lave
pointeraritmetik når funktionskald skal overføres mellem de to sprog.
Pointeraritmetik er ikke muligt i Pascal.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Christian Iversen (14-09-2005)
| Kommentar Fra : Christian Iversen |
Dato : 14-09-05 21:50 |
|
Michael Rasmussen wrote:
> On Wed, 14 Sep 2005 19:21:58 +0200, Christian Iversen wrote:
>
>>
>> Det siger mig en del, ja. Hvad er problemet?
> De er ikke umiddelbart kompatible.
> Endvidere håndteres returværdier fra funktioner forskelligt. Funktioner
> i Pascal og C gemmes forskelligt på stakken, hvorfor man vil skulle lave
> pointeraritmetik når funktionskald skal overføres mellem de to sprog.
> Pointeraritmetik er ikke muligt i Pascal.
1980 ringede, de ville gerne have deres fordomme tilbage.
Ingen bruger længere "Pascal", men næsten udelukkende forskellige (næsten
helt) kompatible udvidelse. Én af disse er Object Pascal (Delphi/Kylix),
som OP netop spurgte til. Ligesom folk ikke bruger de første C-dialekter.
Strings:
Pascal har perfekt support for C-strings, ved typen PChar. Der er absolut
ingen problemer i det, og alle nødvendige manipulationsmetoder til
c-strenge forefindes i standardbiblioteket.
Returværdier:
Det er sandt at standard-kaldekonventionen i C er forskellig fra (Object)
Pascals. Hvis det ønskes at enten bruge importerede funktioner, eller at
exportere funktioner, kan man specificere en anden call convention i
Pascal. Dette gøres således:
Procedure Foo; cdecl;
Og så er Foo() pludselig C-kompatibel. Hvis der ikke skrives noget, benyttes
"register" (kan angives eksplicit), der er noget mere effektiv. Desuden
findes "stdcall" til Windows-API metodekald.
Pointeraritmetik:
Ren pointeraritmetik ved brug af typen Pointer. Streng-pointer arit. vha
typen PChar. og så videre. Der er absolut ingen forskel.
Du kan fx også skrive P+1 hvis P er en PChar, for at referere til næste
element. Altså helt som i C.
Ellers andet?
--
M.V.H
Christian Iversen
| |
Christian Iversen (14-09-2005)
| Kommentar Fra : Christian Iversen |
Dato : 14-09-05 15:14 |
|
Johan Andersen wrote:
> Findes der en lille gratis compiler, der er kompatibel med Borlands
> Delphi?
>
> Jeg prøvede at installere en compiler fra freepascal.org, som skulle
> være kompatibel med Delphi, men den mangler en del rpm-pakker, så det
> blev opgivet. Jeg har en gammel Redhat 5.2, som jeg har opgivet at
> opgradere. Med kun 16 MB RAM og en 100 MHz Pentium kan man ikke bare
> opgradere til seneste version af alle pakker.
Jeg kan på det _varmeste_ anbefale FreePascal. Det er et modent og
veludviklet programmeringsmiljø, og der er kompetent og flink support i
irc-kanelen #fpc på freenode.
Når du ikke kan installere rpm-pakken, kan jeg kun sige én ting: kompilér
det dog!
Pascal-compilere er "altid" hurtigere, og freepascal er ingen undtagelse. Du
kan hente en lille binær udgave af compileren (fpc.exe el. /usr/bin/fpc)
som du kan bruge til at compilere hele den nyeste udgave af sourcen. Fordi
fpc ikke bruger libc, vil du ikke opleve kompatabilitetsproblemer af den
slags man ellers kunne frygte når man prøver et så gammelt OS.
Skriv hvordan det går - når du først har prøvet fpc vil du med al
sandsynlighed ikke være skuffet
Disclaimer: jeg har comittet patches til freepascal.
--
M.V.H
Christian Iversen
| |
Johan Andersen (15-09-2005)
| Kommentar Fra : Johan Andersen |
Dato : 15-09-05 20:54 |
|
Christian Iversen wrote:
> Når du ikke kan installere rpm-pakken, kan jeg kun sige én ting: kompilér
> det dog!
Jeg hentede en binær tar-pakke (igen), og denne gang installerede den
uden problemer. Hvorfor det ikke virkede første gang ved jeg ikke. Men i
hvert fald kompilerer og kører "Hello World"!
Dejligt. Det er nok 15 år siden, jeg sidst skrev "writeln"
Siden da, er der vist sket en hel del med Pascal. Kender nogen en hurtig
tutorial til Delphi for folk der kender C++ i forvejen?
Er det grafiske udviklingsmiljø (IDE) en fordel?
Jeg forsøgte at starte det (fp), men fik denne fejl:
fp: error in loading shared libraries
libncurses.so.5: cannot open shared object file: No such file or
directory
hvilket er ganske naturligt, da jeg kun har libncurses.so.4
Hvor finder jeg en version 5 til min RedHat 5.2?
Og vil en ncurses v.5.* afhænge af andre pakker?
Mvh
Johan
| |
Johan Andersen (15-09-2005)
| Kommentar Fra : Johan Andersen |
Dato : 15-09-05 21:01 |
|
Johan Andersen wrote:
> Siden da, er der vist sket en hel del med Pascal. Kender nogen en hurtig
> tutorial til Delphi for folk der kender C++ i forvejen?
Primært om selve sproget (objekt-orienteret Pascal) og i mindre grad om
det grafiske udviklingsmiljø. Og helst som html.
Mvh
Johan
| |
Christian Iversen (15-09-2005)
| Kommentar Fra : Christian Iversen |
Dato : 15-09-05 21:03 |
|
Johan Andersen wrote:
> Christian Iversen wrote:
>
>> Når du ikke kan installere rpm-pakken, kan jeg kun sige én ting: kompilér
>> det dog!
>
> Jeg hentede en binær tar-pakke (igen), og denne gang installerede den
> uden problemer. Hvorfor det ikke virkede første gang ved jeg ikke. Men i
> hvert fald kompilerer og kører "Hello World"!
Dejligt
> Dejligt. Det er nok 15 år siden, jeg sidst skrev "writeln"
> Siden da, er der vist sket en hel del med Pascal. Kender nogen en hurtig
> tutorial til Delphi for folk der kender C++ i forvejen?
Prøv google, jeg er sikker på de findes. Ellers, så join #fpc på freenode
hvor en masse hjælpsomme personer idler eller diskuterer fpc, pascal, etc.
Der er helt sikkert nogen der kan hjælpe, også med eventuelle fremtidige
spøgsmål.
> Er det grafiske udviklingsmiljø (IDE) en fordel?
Det har nogle dejlige features såsom Code Completion, men det kan
naturligvis ikke noget fundamentalt nyt
> Jeg forsøgte at starte det (fp), men fik denne fejl:
>
> fp: error in loading shared libraries
> libncurses.so.5: cannot open shared object file: No such file or
> directory
Du mangler libncurses, der bruges til at tegne figurer i en terminal.
> hvilket er ganske naturligt, da jeg kun har libncurses.so.4
> Hvor finder jeg en version 5 til min RedHat 5.2?
> Og vil en ncurses v.5.* afhænge af andre pakker?
Det er et svært spørgsmål :)
Du kan sandsynligvis finde src-tar.gz versionen inde på GNU's hjemmeside.
Ellers vil jeg _alvorligt_ anbefale dig en nyere maskine.
Debian Stable (3.1) kan snildt køre på en 0.5GHz maskine. Når du først har
en tidssvarende distribution, spilder du ikke en masse tid på library-fejl
og lignende.
Skriv hvis der er flere spørgsmål.
--
M.V.H
Christian Iversen
| |
Jacob Bunk Nielsen (14-09-2005)
| Kommentar Fra : Jacob Bunk Nielsen |
Dato : 14-09-05 16:43 |
|
Michael Rasmussen <mir@miras.org> writes:
> Siger begreberne pascal stringe og C stringe dig noget?
Det hedder vel "strenge", som i "tekststrenge" på dansk, og "strings"
på engelsk, sådan bare lige for ikke at bidrage yderligere til
forvirringen.
--
Jacob - www.bunk.cc
Left to themselves, things tend to go from bad to worse.
| |
Christian Iversen (14-09-2005)
| Kommentar Fra : Christian Iversen |
Dato : 14-09-05 18:23 |
|
Jacob Bunk Nielsen wrote:
> Michael Rasmussen <mir@miras.org> writes:
>
>> Siger begreberne pascal stringe og C stringe dig noget?
>
> Det hedder vel "strenge", som i "tekststrenge" på dansk, og "strings"
> på engelsk, sådan bare lige for ikke at bidrage yderligere til
> forvirringen.
Heh, ellers ville det også hedde "pascal strengs"
--
M.V.H
Christian Iversen
| |
|
|