Instalacja CEF4Delph w Windows

0

Czy ktoś instalował CEF4Delph w Delphi bo
ja napotykam na problem już przy próbie instalacji ( w Windows7)
Pobrałem CEF4Delphi z linku
https://github.com/salvadordf/CEF4Delphi
(cef_binary_102.0.10+gf249b2e+chromium-102.0.5005.115_windows32.tar.bz2)

Podają instrukcję instalacji w zależności od rodzaju Delphi:
To build and install CEF4Delphi in Delphi XE2, XE3, XE4, XE6, XE7, XE8, 10, 10.1, 10.2, 10.3, 10.4 or 11 you need to follow these steps :
Download the latest version of CEF4Delphi from GitHub.
Decompress CEF4Delphi into a directory and make sure your user has write privileges in that directory.
Run Delphi.
Open the CEF4Delphi_group.groupproj group file which has VCL and FMX components.
itd.

i druga instrukcja:
To compile and install CEF4Delphi in Delphi 7, 8, 2005, 2006, 2007, 2009, 2010 or XE you need to follow these steps :
Download the latest version of CEF4Delphi from GitHub.
Decompress CEF4Delphi into a directory and make sure your user has write privileges in that directory.
Run Delphi.
Open the file CEF4Delphi.dpk from Delphi which has VCL components.
itd.

Jednakże po dekompresji pliku instalacyjnego (cef_binary_102.0.10+gf249b2e+chromium-102.0.5005.115_windows32.tar.bz2)
do folderu na dysku C:/ widzę że nie ma pliku o nazwie CEF4Delphi_group.groupproj ani CEF4Delphi.dpk ani żadnego innego z tymi rozszerzeniami.
Proszę o pomoc :)

1

Tak korzystam.
W Delphi 10 i Delphi 11 korzystam z tej paczki: https://ms.xksi.pl/CEF4Delphi-master.tgz (2MB)
Oczywiście samego CEF trzeba dociągnąć osobno (235MB)

Komponenty musisz skompilować ze źródeł.

2

Jesteś pewien że nie ma?
W źródłach w folderze packages widać
CEF4Delphi_group.groupproj
Jeśli nie korzystasz z GIT-a w prawym górnym rogu na stronie masz ikonę Code. Kliknij w zip i pobierz aktualne źródła (103...)

0

Aha...., nie ma w tym pliku instalacyjnym ponieważ nie ma w nim wcale folderu packages z jakichś przyczyn

Nie ma wcale folderu packages ani sources

0

Nie pobieraj z gotowego linku (np. Windows 64) tylko tak jak napisałem. Jeśli chcesz programować musisz się nauczyć korzystania z GIT-a i jak pobierać repozytoria.

PS. Edytuj posty a nie wstawiasz kolejne.

0

Znaczyłoby to że jest jeszcze inny pliki do instalacji , pewnie ten o którym pisze katakrowa

Dobrze spróbuję jak radzisz Clarc

0

Próbuję kompilować CEF4Delph z pliku CEF4Delphi_group.groupproj i mam błędy w uCEFArgCopy.pas:

[uCEFArgCopy.pas](https://4programmers.net/assets/48200/OmRjYqE9FFUlxteJaZhNYqYthzs3ouBHhry4YqBF.txt) :
Errors:
[DCC Error] uCEFArgCopy.pas(146): E2003 Undeclared identifier: 'SysUtils'
[DCC Error] uCEFArgCopy.pas(147): E2003 Undeclared identifier: 'SysUtils'
0

Ja jestem na komórce a nie lubię tak pisać więc na szybko masz problem że scope names. Będziesz musiał dodać informacje o używanych unitach do ustawień projektu.
Musisz sam wygooglowac lub poczekać czy ktoś inny odpisze więcej.
Tutaj masz opisany ten sam problem
https://en.delphipraxis.net/topic/2384-tool-to-fix-up-uses-clause-unit-namespaces/

1

Widać tam jest błąd, który nie pozwoli skompilować na starych Delphi np. Delphi 7 (a moze też trochę nowszych od 7, bo nawet nie pamietam kiedy zmieniono nazwy modułów np. z SysUtils na System.SysUtils)
Zmień te linie 146 i 147 na:

              FArgVCopy[i] := {$IFDEF DELPHI16_UP}System.{$ENDIF}SysUtils.AnsiStrAlloc(length(aArgv[i]) + 1);
              {$IFDEF DELPHI16_UP}System.{$ENDIF}SysUtils.StrCopy(FArgVCopy[i], aArgv[i]);

albo na

              FArgVCopy[i] := SysUtils.AnsiStrAlloc(length(aArgv[i]) + 1);
              SysUtils.StrCopy(FArgVCopy[i], aArgv[i]);

Cała ostania procedura w pliku powinna wyglądać tak:

procedure TCEFArgCopy.CopyFromArgs(aArgc : longint; aArgv : PPAnsiChar);
var
  i : integer;
begin
  DestroyFields;

  if (aArgc > 0) and (aArgv <> nil) then
    begin
      i         := 0;
      FArgCCopy := aArgc;

      GetMem(FArgVCopy, (FArgCCopy + 1) * SizeOf(Pointer));

      while (i < aArgc) do
        begin
          {$IFDEF FPC}
            FArgVCopy[i] := StrAlloc(length(aArgv[i]) + 1);
            StrCopy(FArgVCopy[i], aArgv[i]);
          {$ELSE}
            {$IFDEF DELPHI18_UP}
              FArgVCopy[i] := System.AnsiStrings.AnsiStrAlloc(length(aArgv[i]) + 1);
              System.AnsiStrings.StrCopy(FArgVCopy[i], aArgv[i]);
            {$ELSE}
              FArgVCopy[i] := {$IFDEF DELPHI16_UP}System.{$ENDIF}SysUtils.AnsiStrAlloc(length(aArgv[i]) + 1);
              {$IFDEF DELPHI16_UP}System.{$ENDIF}SysUtils.StrCopy(FArgVCopy[i], aArgv[i]);
            {$ENDIF}
          {$ENDIF}

          inc(i);
        end;

      FArgVCopy[i] := nil;
    end;
end;
0

Dzięki ,Będe próbował

0

Po zamianie linii 146 , 147 na:

FArgVCopy[i] := {$IFDEF DELPHI16_UP}System.{$ENDIF}SysUtils.AnsiStrAlloc(length(aArgv[i]) + 1);
              {$IFDEF DELPHI16_UP}System.{$ENDIF}SysUtils.StrCopy(FArgVCopy[i], aArgv[i]);

plik uCEFArgCopy.pas skompilował się bez błędów natomiast całej grupy nie udało się skompilować, błędy :

[DCC Fatal Error] CEF4DelphiFMXRTL.dpk(34): E2202 Required package 'fmx' not found
[DCC Fatal Error] CEF4Delphi_designtime.dpk(36): E2202 Required package 'CEF4DelphiFMXRTL' not found
1

A w której wersji Delphi to kompilujesz? Sam pisałeś, że są oddzielne instalacje na Delphi XE2+ i np. Delphi 7. Jeśli nie wykrywa FMX to znaczy że masz starszą wersję Delphi i powinieneś kompilować CEF4Delphi.dpk a nie CEF4Delphi_group.groupproj.
Sprawdzałem przed chwilą i wszystko kompiluje się poprawnie zarówno na nowszym Delphi 11 jak i Delphi 7 - oczywiście odpowiednio do danej wersji według instrukcji. Pobrałem czyste źródła i nic nie trzeba było modyfikować (miałeś problem z SysUtls).
Sugeruję pobrać ponownie źródła i wykonać wszystko według oficjalnej instrukcji. Ja wyjeżdżam na urlop więc na razie więcej się nie udzielę ale robiąc według instrukcji (link w razie czego) nie powinieneś mieć żadnych problemów.

0

No właśnie, która wersja Delphi jak 7 to mogę spróbować co będzie u mnie do tego ewentualnie mam jeszcze 10.4 Community.

0

Tak było na Delphi XE
Jeśli instaluję z .dpk to po zmianie tamtych dwu linijek kodu kompiluje się i instaluje ale w palecie komponentów nic nowego się nie pojawia.

Spróbowałem też w Lazarusie i tutaj cała instalacja CEF4Delph się udała i są nowe zakładki z komponentami chromium.
Jednak wolałbym mieć to samo w XE

0

Nie pomyślałem że problem z wyświetlaniem strony może pochodzić od tej strony, a jednak !
Sprawdziłem i rzeczywiście strony np. chomikuj.pl czy te 4programers są wyświetlane w miarę dobrze choć zubożone kolorystycznie, natomiast ta na której mi zależy nie jest. Tak więc zaimplementowanie Chromium do Delphi niekoniecznie musi usunąć kłopoty

1 użytkowników online, w tym zalogowanych: 0, gości: 1