Avatar billede yates Nybegynder
04. juli 2006 - 12:40 Der er 13 kommentarer

CLX vs. VCL, qtintf.dll

Hej,

er der en der med gode danske ord kan forklare mig hvad CLX hhv. VCL er?

Hvis jeg laver en Windows app. (VCL) som indeholder fx et stringgrid så er qtintf70.dll nødvendig at distribuere med - er der nogen måde at komme omkring dette problem på??
Y.
Avatar billede yates Nybegynder
04. juli 2006 - 13:02 #1
...Skal i øvrigt lige siges at der ikke er skyggen af CLX involveret i problemet som beskrevet ovenfor. Igen CLX-komponenter i projektet, ingen linkage til noget CLX-baseret, det er 100% VCL, og alligevel er qtintf nødvendig.
Shit.
Undskyld.
Y.
Avatar billede tolderlund Nybegynder
04. juli 2006 - 13:42 #2
VCL er den gode gamle Visual Component Library, dvs til Win32.
CLX er Kylix, dvs til Linux.
Hvis du har en VCL app der vil bruge en q*.dll så er der en reference til noget CLX.
Led efter unitnavne i uses der begynder med Q og prøv at fjerne dem.
Lav så en Build af projektet.
Avatar billede yates Nybegynder
04. juli 2006 - 13:49 #3
Hej Tolder,

tak for dit svar. Det hjælper desværre bare ikke.

Prøv følgende lille eksperiment:
1. Lav et nyt VCL-projekt og sæt et stringgrid på form1. Kompiler.
2. Kopier exe-filen over på naboens win32-pc (hvor qtinf70.dll ikke findes) og kør.

Nu ser du problemet. Der er ingen Q* i uses, men VCL-applicationen synes alligevel livet er surt uden qtintf70.dll.


Y.
Avatar billede martinlind Nybegynder
04. juli 2006 - 15:21 #4
yates >> du har lavet en "bøf" et eller andet sted for det er helt korrekt hvad tolder skriver, en alm. VCL app, compileret under windows kræver IKKE noget extra, måske du har fået valgt en CLX stringgrid ??
Avatar billede yates Nybegynder
04. juli 2006 - 15:38 #5
Hej Martinlind,

tak for dit svar.

Jeg er klar over at qtintf70.dll er et CLX bibliotek. Så vidt så godt. Jeg er også klar over at det ikke *burde* give problemer, så længe man laver VCL-apps og holder nallerne fra CLX-komponenter.

Men hvor kan min "bøf" være hvis jeg laver en vcl-app med en eneste form hvorpå jeg klasker et TStringgrid (bruger grids, som er vcl mig bekendt, dette kan I nok bekræfte?) og intet andet - ingen andre units, knapper, controls, eller kode for den sags skyld.
Denne enkle app vil ikke starte uden QTINTF70.dll, og den indeholder ikke noget om Q-sager under 'uses'.


Y.
Avatar billede martinlind Nybegynder
04. juli 2006 - 16:10 #6
Har du kigget i DPR filen, evt. kig i din DFM fil, der må være noget "fnidder" et eller andet sted, ellers så prøv at lavet et nyt projekt og se om den bliver ved med at drille, ved sku ikke om delphi har en option der siger den skal bruge CLX i windows, kig evt. under options, og projekt-options også
Avatar billede tolderlund Nybegynder
04. juli 2006 - 16:25 #7
Hvis du laver en ny helt tom vcl-app med en tom form uden komponenter, kan den køre uden QTINTF70.dll ?
Avatar billede yates Nybegynder
05. juli 2006 - 08:19 #8
Hej alle.
Godt at få kommentarer.

Problemet er som følger:
En almindelig app (non-CLX) uden komponenter kører fint (Tolderlund). I det øjeblik jeg har et grid (vel at mærke et almindelig stringgrid, ikke CLX) på formen går det galt. Programmet med en form med en stringgrid ser således ud (Og her har vi således alt rub og stub):


#####################

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.


##################

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.

##################

Som det ses er der ikke nogen "uses Q*" noget sted. Jeg mener i sagens natur det må være grids der driller, men hvme ved?! Variants måske. Jeg ved ikke hvordan tandhjulene drejer inde i et program så derfor spørger jeg jer...

Y.
Avatar billede martinlind Nybegynder
05. juli 2006 - 08:54 #9
Der er ikke "noget" der driller, jeg har selv kørt Delphi 1-2006 har ikke oplevet problemet før, jeg tror der er noget delphi ikke har fået rydet op i ( et eller andet sted ). Har du prøvet at slette alt undtagen din DRP,PAS og DFM fil, og så lave projectet igen ?
Avatar billede yates Nybegynder
05. juli 2006 - 08:57 #10
Ja netop. Og eksemplet ovenfor er et nyt og støvsuget projekt.
Prøv at gøre som ovenfor beskrevet.
Evt prøv at omdøbe din qtintf-dll midlertidigt og kør, så mærker du problemet.

Y.
Avatar billede martinlind Nybegynder
05. juli 2006 - 09:26 #11
Nej for jeg har 30 menesker der sidder og kører med en delphi udviklet VCL app, med 117 grid's på UDEN QTxx.dll og det kører FINT, så noget har du gjort galt et eller andet sted !!

Hvilken delphi version er det du kører på
Avatar billede yates Nybegynder
05. juli 2006 - 09:38 #12
Hej Martin Lind,

Det er Delphi 7.
Men rolig nu: jeg benægter bestemt ikke at jeg har gjort noget galt. Faktisk har jeg sikkert gjort en masse forkert, og det er jo derfor jeg spørger. De løsningsforslag jeg indtil videre har set har blot ikke løst mit problem.
Men jeg tillader mig at spørge (og læs dette positivt) - er du sikker på der ikke er en qtintf -dll i de 30 medarbejderes windows/system folder?

Meget venlig hilsen
Y.
Avatar billede martinlind Nybegynder
05. juli 2006 - 11:01 #13
ja, meget sikker, har aldrig haft problemet før :(, hvis jeg får tid og husker det vil jeg gerne lige prøve at lave en test :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester